似乎无法弄清楚为什么它无法访问变量“a”:
var a = function(){
console.log('AAA');
}
(function(){
console.log(a);
})();
最佳答案
这里的问题是你试图调用一个函数,如下undefined()
,为什么?
这就是正在发生的事情:
var a = function(){
console.log('AAA');
}(...) //<- here you're calling the function `a`, but your function `a` doesn't return anything (`undefined`)
您可以通过添加分号来解决此问题:
var a = function(){
console.log('AAA');
}; //<- HERE!
(function(){
console.log(a);
})();
或者,您可以将函数a
声明为声明而不是表达式
看看这个 Question多了解一点。
function a(){
console.log('AAA');
}
(function(){
console.log(a);
})();
资源
关于javascript - 为什么变量没有被访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48909245/