javascript - return的一个小问题
本文介绍了javascript - return的一个小问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
function outerFn(){
var outerVar = 1;
function innerFn(){
console.log(outerVar);
var innerFn = 2;
}
return innerFn;
}
outerFn(); //就是这里,为什么不会执行console.log(outerVar)从而输出1呢
而换成这样就行
function outerFn(){
var outerVar = 1;
function innerFn(){
console.log(outerVar);
var innerFn = 2;
}
return innerFn;
}
var handler= outerFn();
handler();
求解
解决方案
第一个例子outerFn()
里面return了一个函数表达式,并没有调用。第二个例子中其实是先把outerFn()
返回的函数赋值给了innerFn
,然后innerFn()
调用了该函数。
这篇关于javascript - return的一个小问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文