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). Поэтому ничего удивительного, что тест показал, что функции разные. А присваивание функций — это присваивание объектов, которое идёт по ссылке.