Цитата:
|
ixth,
у меня пока что два варианта: 1. Хочется 2. Для оптимизации Вот примерчик //не оптимизированный вариант function fun(i) { ... } function fun2(i) { ... } for (var i = 0; i < мильён; i++) { if (условие) { fun(i); } else { fun2(i); } } // оптимизорованный function fun(i) { ... } function fun2(i) { ... } var f; if (условие) { f = fun; } else { f = fun2; } for (var i = 0; i < мильён; i++) { f(i); } |
В ES5 FunctionDeclaration обязан быть либо вверху глобали, либо функции, т.е.
function foo() { 'use strict'; if (true) { function bar() { // Error } } } В ES6 обсуждают концепцию локальных деклараций, а пока юзаю let + FunctionExpression если нужно такое. |
Цитата:
http://javascript.ru/basic/functions |
Цитата:
Такой пример у меня нормально отрабатывает: function foo() { 'use strict'; var a = 1; return a + bar(); function bar() { return 1; } } |
Цитата:
Цитата:
|
ixth,
Цитата:
|
Цитата:
Цитата:
Я думал, возможно, есть какая-то особая магия, о которой я не знаю. Но судя по всему все делают, потому что Резиг так сказал. Но резюме отсюда немного отрезвляет, конечно. |
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 06:47. |