function a() {
var a = 1;
console.log(a);
var b = function() {
console.log(a);
var c = function() {
console.log(a);
}
}
}
a();
b();
c();
尝试调用所有3个函数这也不起作用,它说b没有定义;
答案 0 :(得分:0)
未定义,因为您错过了范围点。 b
作为函数仅在a
内可用。 c
作为函数仅在b
内可用。
例如,以下代码可以。
function a() {
var a = 1;
console.log(a);
var b = function() {
console.log(a);
var c = function() {
console.log(a);
}
c(); // c is available because we are inside the function b
}
b(); // b is available because we are inside the function a
}
a();
如果您不理解这一点,您可能应该阅读范围,因为这是javascript中非常基本的关键设备。