为什么这里的立即执行函数无法访问到全局里定义的函数,但全局定义变量就可以
来源:3-1 let.const命令

高哥没有毒
2018-06-05
var a = 2; function func(){ console.log('global foo'); } (function() { if(false) { function func() { console.log('local foo'); } } console.log(a); // 2 func(); // TypeError: f is not a function }());
我能理解由于块作用域的存在,内部的func函数无法访问到,但立即执行函数无法访问外部函数吗?
写回答
1回答
-
快乐动起来呀
2018-06-05
var a = 2;
function func(){
console.log('global foo');
}
(function() {
console.log(a); // 2
func(); // TypeError: f is not a function
}());
试试这个就没问题,你想想为什么?
00
相似问题