Window.prototype.confirm和Window.confirm之间的区别是什么
我正在处理一个变更请求,说我们需要在确认消息框上有一个标题。我刚看了一下弹出确认窗口的代码。
在javascript中,有一个调用
Window.prototype.confirm = function(arg){return false;}; 它负责弹出确认窗口
我在谷歌上搜索过,有一个像window.confirm这样的javascript函数,我们不能设置标题,我们需要编写一些自定义的javascript函数来做同样的事情
所以我只是想知道Window.prototype.confirm和Window.confirm是否相同,如果不是,有什么不同?
发布于 2013-04-17 19:47:19
你还没见过Window.confirm,那是window.confirm。
在Chrome JavaScript控制台中输入以下代码行,一个接一个,它可能有助于阐明这一点。(在>后面键入part,它将打印您在其下方看到的内容。)
> window.constructor
function Window() { [native code] }
> window.constructor === Window
true
> window.confirm === Window.prototype.confirm
true
> window.confirm = function() { alert('oops'); };
function () { alert('oops'); }
> window.confirm === Window.prototype.confirm
false发布于 2013-04-17 19:54:05
它与JavaScripts本机继承模型有关。
Window.prototype.confirm
window.confirm (注意小写w)
正如您所看到的,window是Window的一个实例,这意味着如果您更改了window.confirm,则只针对此特定实例进行了更改。Window的其他实例将具有原始功能。但是,如果您更改了Window原型的确认函数,则window的所有实例都将使用新的实现。
使用自定义对象来说明。
function MyObject () {
}
MyObject.prototype.test = function () {
alert('A');
}
var myobj1 = new MyObject();
var myobj2 = new MyObject();
myobj1.test(); // alerts A
myobj2.test(); // alerts A
myobj1.test = function () { alert('B'); };
myobj1.test(); // alerts B
myobj2.test(); // alerts A
MyObject.prototype.test = function () { alert('C'); };
myobj1.test(); // alerts C
myobj2.test(); // alerts Chttps://stackoverflow.com/questions/16058793
复制相似问题