window.confirm()
和 just 和有什么不一样confirm()
?alert()
和类似prompt()
。
window.
每次都需要写吗?
每个“独立”函数实际上都是window
对象的一个方法。由于window
对象是默认上下文,因此它始终是隐式的。调用alert
orwindow.alert
是一样的。
JavaScript 中的一切都是对象,都有方法,但window
object 是默认的,所以如果你调用类似函数的东西,你实际上调用的是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
, 以防止混淆)