Так что, если вы вызовете outerFunc()
, он вернет функцию innerFunc()
. Чтобы позвонить innerFunc()
из outerFunc
, вы должны сделать следующее
let inner = outerFunc()
inner()
// OR
outerFunc()()
Вы можете подтвердить это поведение
function innerFunc(){
console.log('inner')
}
function outerFunc(){
console.log('outer')
return innerFunc;
}
// Calling outerfunc would onkly print out 'outer'
outerFunc()
/*
console.log('outer')
*/
// Calling the returned function from outerFunc prints out 'outer' and 'inner'
outerFunc()()
/*
console.log('outer')
console.log('inner')