window.confirm() 和 just confirm() 之间的区别



window.confirm()和只是confirm()有什么区别?alert()prompt()类似.

我需要每次都写window.吗?

每个"独立"函数实际上是window对象的方法。由于 window 对象是默认上下文,因此它始终是隐式的。拨打alertwindow.alert是相同的。

没有,不在实际函数中。

单独调用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,以防止混淆)

JavaScript 中的所有内容都是对象并且有方法,但window对象是默认的,所以如果你调用类似函数的东西,你实际上调用了window的方法。

但是,如果您有自己的函数,则可能会有所不同window该函数调用与对象相同。

甚至还可以阴影方法并使其不起作用,例如:

(function () {
    var alert;
    alert("Not working...");
})()

最新更新