Вы звоните oneMoreThanA
в вашем примере.
Если вы хотите, чтобы вызвать его из вне вашей betterExampleNeeded
функции, то вам нужно иметь betterExampleNeeded
сделать эталонную functino доступных за ее пределы, пути:
- Возвращение его
- Назначения его к переменному в содержащой сфере
- Назначение его свойство объекта на аргументе, переданный в него
... или аналогичный.
Например:
function betterExampleNeeded() {
var a = 1;
function oneMoreThanA() {
return a + 1;
}
return oneMoreThanA; // <=== Note! No()
}
var f = betterExampleNeeded();
console.log(f()); // 2
console.log(f()); // 2
console.log(f()); // 2
Или мы могли бы даже изменить a
:
function betterExampleNeeded() {
var a = 1;
function oneMoreThanA() {
return ++a; // <=== Modify `a`
}
return oneMoreThanA;
}
var f = betterExampleNeeded();
console.log(f()); // 2
console.log(f()); // 3
console.log(f()); // 4
Просто вызовете функцию 'betterExampleNeeded' –
Что случилось с тем, как вы называете' oneMoreThanA() 'в вашей выборке ? –
Я пытаюсь вызвать oneMoreThanA() непосредственно в Javascript Console в Chrome. Он возвращает ошибку. Uncaught ReferenceError: oneMoreThanA не определен –