Эта функция
function mapForEach(arr, fn) {
var newArr = [];
for (var i = 0; i < arr.length; i++) {
newArr.push(
fn(arr[i])
)
};
return newArr;
}
var arr1 = [1, 2, 3];
вызывается
mapForEach(arr1, function (item) {
return item * 2;
}); // [2,4,6]
и не вызывается этим объявлением переменной
var arr2 = mapForEach(arr1, function (item) {
return item * 2;
});
но вызывается при входе в консоль
console.log(arr2); // [2,4,6] in the console
почему вызов здесь не нужен?
console.log(arr2());
Я до сих пор не понимаю, чем это отличается от
function foo () { return 2 === 2 };
определение функции журналов
console.log(foo); // function foo() { return 2 === 2 }
вызывается в функции журнала, записывает возвращаемое значение
console.log(foo()); // true
arr2
. Если вы думали, что присваиваете функцию, то почему назвали ее массивом? - person jonrsharpe   schedule 13.02.2017var arr2 = ...
, это то, что я имел в виду. - person jonrsharpe   schedule 13.02.2017