首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Window.prototype.confirm与Window.confirm的区别

Window.prototype.confirm与Window.confirm的区别
EN

Stack Overflow用户
提问于 2013-04-17 19:26:19
回答 2查看 2.3K关注 0票数 3

Window.prototype.confirmWindow.confirm之间的区别是什么

我正在处理一个变更请求,说我们需要在确认消息框上有一个标题。我刚看了一下弹出确认窗口的代码。

在javascript中,有一个调用

代码语言:javascript
复制
Window.prototype.confirm = function(arg){return false;}; 

它负责弹出确认窗口

我在谷歌上搜索过,有一个像window.confirm这样的javascript函数,我们不能设置标题,我们需要编写一些自定义的javascript函数来做同样的事情

所以我只是想知道Window.prototype.confirmWindow.confirm是否相同,如果不是,有什么不同?

EN

回答 2

Stack Overflow用户

发布于 2013-04-17 19:47:19

你还没见过Window.confirm,那是window.confirm

在Chrome JavaScript控制台中输入以下代码行,一个接一个,它可能有助于阐明这一点。(在>后面键入part,它将打印您在其下方看到的内容。)

代码语言:javascript
复制
> 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
票数 2
EN

Stack Overflow用户

发布于 2013-04-17 19:54:05

它与JavaScripts本机继承模型有关。

  1. You访问Window原型的确认方法。

Window.prototype.confirm

  • You访问名为Windows.的Window实例的确认方法

window.confirm (注意小写w)

正如您所看到的,window是Window的一个实例,这意味着如果您更改了window.confirm,则只针对此特定实例进行了更改。Window的其他实例将具有原始功能。但是,如果您更改了Window原型的确认函数,则window的所有实例都将使用新的实现。

使用自定义对象来说明。

代码语言:javascript
复制
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 C
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16058793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档