window.confirm()
和confirm()
之间有什么区别?类似于alert()
和prompt()
。
我每次都需要写window.
吗?
答案 0 :(得分:4)
每个“独立”函数实际上都是window
对象的一种方法。由于window
对象是默认上下文,因此它始终是隐式的。致电alert
或window.alert
是一样的。
答案 1 :(得分:0)
JavaScript中的所有东西都是对象并且有方法,但window
对象是默认的,所以如果你调用类似函数的东西,你实际上调用window
的方法。
但是,如果您拥有与window
对象相同的自己的函数,则可能存在差异。
甚至可以使用阴影方法使其不起作用,例如:
(function () {
var alert;
alert("Not working...");
})()
答案 2 :(得分: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
,以防止混淆)