2010-05-04 113 views

回答

5

「命名變量是用var語句定義的,當在函數內部使用時,var定義具有函數範圍的變量。 - (source

可訪問全球範圍內,特別是使awindow對象的成員,改變你的代碼是這樣的:

var a; // defined in the global scope 
window.onload = function() { 
    a = 'hello'; // initialized 
    alert(window.a); 
} 

或者這樣:

var b = 'world'; //defined and initialized in the global scope 
window.onload = function() { 
    alert(window.b); 
} 
5

變量'a'在您的上下文中不是窗口的一部分。

a的作用域爲您分配給onload的匿名函數。

你可以添加一個作爲窗口中的一員,如果你想:

window.onload = function() { 
    window.a = 'hello'; 
    alert(window.a); 
} 

,但我建議你不要這樣做。