JavaScript
132
Вклад в тег
{} + [] == +[]
, а +[] равно 0. Когда сначала идет массив, к пустому массиву прибавляется {}, и получается [] + {} = "" + {} = ({}).toString()
. Массив является разным объектом из-за этого:[].toString() == "";
+[] == 0;
+[x] == x;
+[x,y,z] == NaN; // Ой, это неправильно!
+[x,y,z] != +[x,y,z] // NaN != NaN
Функция высшего порядка, в отличие от функции первого порядка, имеет один из трёх видов:
1. Один из параметров функции также является функцией и она возвращает значение.
2. Она возвращает функцию, но ни один из параметров не является функцией.
3. И первый и второй пункт: функция возвращает функцию и один из параметров является функцией.
<input type=text list=mycoollist>
<datalist id=mycoollist>
<option>i want to kill you</option>
<option>i will kill you</option>
<option>you will die</option>
<option>i will be killed</option>
<option>i will be dead</option>
</datalist>