2012-11-19 21 views

回答

35

因爲window是全局對象,你可以在alert無論是它的簡寫撥打:alert('Hello!');或專門引用全局對象:window.alert('Hello!');

他們是相同的。

+5

看來this.alert('Hello!');做同樣的工作。我想那是全球性的,我們在窗口對象內。 – scdmb

22

他們通常是同樣的事情,但是,如果在你的範圍,見例如,報警功能得到了重新定義,然後警惕,window.alert不會是相同的功能。

(function() { 
    function alert(test) { 
     document.write(test); 
    } 

    alert("hello page"); 
    window.alert("hello world"); 
})() 

希望這個例子能說明這個問題比我的解釋更多。

你也可以用可變陰影函數名和調用它時獲得一個錯誤。

(function() { 
    var alert; 
    alert("Why don't you work, silly function?"); 
})()