Цитата:
|
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, время: 05:40. |