-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