-6
这是对Question的扩展。我曾尝试下面的代码来理解JavaScript作用域的全局函数里面具有全局范围的JavaScript变量
与var
var a = function(){
var aa = 10;
var x = 13;
b = function(){ c = function(){ alert(aa); }; };
};
a();
b();
c();
alert(typeof x); // Undefined
alert(x); // Returned me 13.
我查询我已经声明的变量。根据我的理解,x
应该是本地的。但它不是那样行事。有人请清除我的疑问...请检查this小提琴。
'x'的作用域被分配给'a'的函数。最后一个'alert'从来没有真正出现过 - 你会得到一个SyntaxError,因为'x'没有被定义。 – 2012-07-18 13:45:30
有没有办法你会得到13,你会得到'x没有定义',因为x的范围在a中。也许你已经在全球范围内的某个地方设置了x = 13。 – Angel 2012-07-18 13:46:28
http://jsfiddle.net/MYbKT/由于@JamesAllardice说 – scottheckel 2012-07-18 13:46:32