为什么这里的立即执行函数无法访问到全局里定义的函数,但全局定义变量就可以
来源: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
相似问题