2012-11-19 1 views

答えて

35

windowはグローバルオブジェクトなので、あなたはそれが速記だのいずれかによってalertを呼び出すことができます。彼らが同じであるwindow.alert('Hello!');

alert('Hello!');または特にグローバルオブジェクトを参照することもできます。

+5

this.alert( 'Hello!');同じ仕事をします。私たちは、グローバルにウィンドウオブジェクトの中にいると思います。 – scdmb

22

これらは通常同じものですが、範囲内にある場合は例を参照してください。アラート関数は再定義され、alertと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?"); 
})()