3

window.confirm()和 just 和有什么不一样confirm()alert()和类似prompt()

window.每次都需要写吗?

4

3 回答 3

7

每个“独立”函数实际上都是window对象的一个​​方法。由于window对象是默认上下文,因此它始终是隐式的。调用alertorwindow.alert是一样的。

于 2013-10-16T13:10:56.250 回答
0

JavaScript 中的一切都是对象,都有方法,但windowobject 是默认的,所以如果你调用类似函数的东西,你实际上调用的是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
})();

(话虽如此,我将自定义叠加层定义为Alert,Confirm和一个多用途的Dialog, 以防止混淆)

于 2013-10-16T13:12:51.503 回答