41

alert()window.alert()関数はどう違いますか?同じように動作するようです。

4

2 に答える 2

49

windowはグローバルオブジェクトであるため、alert省略形で呼び出すかalert( 'Hello!' );、グローバルオブジェクトを具体的に参照することで呼び出すことができます。window.alert( 'Hello!' );

それらは同じです。

于 2012-11-19T18:33:33.517 に答える
32

これらは通常同じものですが、スコープ内で例を参照すると、alert関数が再定義され、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?");
})()
于 2012-11-19T18:39:28.743 に答える