window.confirm()
和只是confirm()
有什么区别?alert()
和prompt()
类似.
我需要每次都写window.
吗?
每个"独立"函数实际上是window
对象的方法。由于 window
对象是默认上下文,因此它始终是隐式的。拨打alert
或window.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
})();
(话虽如此,我将我的自定义叠加层定义为 Alert
、Confirm
和多用途Dialog
,以防止混淆)
JavaScript 中的所有内容都是对象并且有方法,但window
对象是默认的,所以如果你调用类似函数的东西,你实际上调用了window
的方法。
但是,如果您有自己的函数,则可能会有所不同window
该函数调用与对象相同。
甚至还可以阴影方法并使其不起作用,例如:
(function () {
var alert;
alert("Not working...");
})()