3

window.confirm()と ちょうどはどう違いconfirm()ますか?alert()と についても同様ですprompt()

window.毎回書く必要ある?

4

3 に答える 3

7

すべての「スタンドアロン」関数は、実際にはwindowオブジェクトのメソッドです。オブジェクトはデフォルトのコンテキストであるため、window常に暗黙的です。呼びalertwindow.alert同じです。

于 2013-10-16T13:10:56.250 に答える
0

JavaScript ではすべてがオブジェクトでメソッドがありますが、windowオブジェクトがデフォルトなので、関数のようなものを呼び出すと、実際には のメソッドを呼び出しますwindow

windowただし、オブジェクトと同じように呼び出される独自の関数がある場合は、異なる場合があります。

また、メソッドをシャドウして、機能しないようにすることもできます。次に例を示します。

(function () {
    var alert;
    alert("Not working...");
})()
于 2013-10-16T13:12:43.887 に答える
0

実際の機能にはありません。

単独で呼び出すalert()と、スクリプトは最初に現在のスコープで呼び出される変数を探し、alert存在する場合はそれを呼び出します。それ以外の場合は、スコープ チェーンを上に移動してから、最終的に到達window.alertして呼び出します。

ただし、次のようなコードがある場合:

(function() {
   var alert = function(str) { /* my cool overlay popup function */ };
   // do stuff
   alert("Hello, World!"); // calls my custom overlay
   window.alert("Hello, World!"); // calls the native alert
})();

(そうは言っても、混乱を避けるために、カスタム オーバーレイAlertConfirmと多目的として定義しています)Dialog

于 2013-10-16T13:12:51.503 に答える