似乎无法弄清楚为什么它无法访问变量' a':
var a = function(){
console.log('AAA');
}
(function(){
console.log(a);
})();

答案 0 :(得分:2)
问题在于您尝试按照setColor
调用函数,为什么?
这就是发生的事情:
Color color;
try {
Field field = Color.class.getField(colorOfSquare);
color = (Color) field.get(null);
} catch (Exception e) {
color = null; // Not defined
}
您可以通过添加分号来解决此问题:
undefined()
或者,您可以将函数var a = function(){
console.log('AAA');
}(...) //<- here you're calling the function `a`, but your function `a` doesn't return anything (`undefined`)
声明为声明而不是表达式
看看这个Question以了解更多信息。
var a = function(){
console.log('AAA');
}; //<- HERE!
(function(){
console.log(a);
})();
答案 1 :(得分:0)
实际上你建立了一个IIFE。这意味着:
var a = function(){
console.log('AAA');
}
()
实际调用该函数,并将其结果存储在a中。如果将一个函数作为参数放入该函数调用中,它将无处可去,因为第一个函数不接受任何参数。
答案 2 :(得分:-1)
proc_selfpid()
&#13;