window.confirm()
と ちょうどはどう違いconfirm()
ますか?alert()
と についても同様ですprompt()
。
window.
毎回書く必要ある?
すべての「スタンドアロン」関数は、実際にはwindow
オブジェクトのメソッドです。オブジェクトはデフォルトのコンテキストであるため、window
常に暗黙的です。呼びalert
かwindow.alert
同じです。
JavaScript ではすべてがオブジェクトでメソッドがありますが、window
オブジェクトがデフォルトなので、関数のようなものを呼び出すと、実際には のメソッドを呼び出しますwindow
。
window
ただし、オブジェクトと同じように呼び出される独自の関数がある場合は、異なる場合があります。
また、メソッドをシャドウして、機能しないようにすることもできます。次に例を示します。
(function () {
var alert;
alert("Not working...");
})()
実際の機能にはありません。
単独で呼び出す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
})();
(そうは言っても、混乱を避けるために、カスタム オーバーレイAlert
をConfirm
と多目的として定義しています)Dialog