function(i) { return i*i*i; }
, создаётся новая функция, потому что всякая function(i) {} означает создание новой (почти то же, что new Function(), но по методу исполнения совсем не то, вторая не рекомендуется из-за неявного eval). Поэтому ничего удивительного, что тест показал, что функции разные. А присваивание функций — это присваивание объектов, которое идёт по ссылке. function(i) { return i*i*i; }
, создаётся новая функция, потому что всякая function(i) {} означает создание новой (почти то же, что new Function(), но по методу исполнения совсем не то, вторая не рекомендуется из-за неявного eval). Поэтому ничего удивительного, что тест показал, что функции разные. А присваивание функций — это присваивание объектов, которое идёт по ссылке. function(i) { return i*i*i; }
, создаётся новая функция, потому что всякая function(i) {} означает создание новой (почти то же, что new Function(), но по методу исполнения совсем не то, вторая не рекомендуется из-за неявного eval). Поэтому ничего удивительного, что тест показал, что функции разные. А присваивание функций — это присваивание объектов, которое идёт по ссылке. <script>
(function(){
var aa = function(){
console.log(window==this, this)
}
aa()
})()
</script>
Локальный скоуп недоступен. Сделано, видимо, для возможности написания независимых скриптов на одной странице или, другими словами, для невлияния другого скрипта на первый через скоуп каким-либо образом (например, стирать переменные из него). tags = document.querySelectorAll('span[id^=tag]');
var n =1;
for(var i in tags){
var n2 = Number(tags[i].id.replace(\tag_/,'') );
if(n2) > n)
n = n2;
}