【问题标题】:how to make an object an instanceof of its own prototype's property如何使对象成为其自己原型属性的实例
【发布时间】:2011-10-06 09:54:32
【问题描述】:

以标准浏览器为例,

Window 类被实例化为窗口变量

window 变量还包含 Window 构造函数(window.Window)

在您的(标准)浏览器中测试:

alert(window instanceof window.Window);

var asd = function(){};
asd.prototype.test = asd;
var x = new asd();
alert(x instanceof x.test);

现在,window 也是存储在 window.EventTarget 中的 EventTarget 实例

如何继承window对象中的EventTarget?

【问题讨论】:

  • 我不确定我是否得到你的问题,但请记住 window 是特殊对象,因为 (a) 它是全局对象并且 (b) 它是主机对象,这意味着它的行为并未完全由规范定义。
  • 我只是想知道是否有办法在用户空间代码中以编程方式执行此操作,以及一些其他变量。

标签: javascript scope reference prototyping


【解决方案1】:

我在回答自己:|

var EvtTarg = function(){};
EvtTarg.prototype.justATest = function(){alert("asd");};

var Win = function(){};
Win.prototype = Object.create(EvtTarg.prototype);
Win.prototype.EvtTarg = EvtTarg;
Win.prototype.Win = Win;

var win = new Win();
alert(win instanceof win.Win);
alert(win instanceof win.EvtTarg);

有更好的方法吗?

【讨论】:

    猜你喜欢
    • 2014-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-05
    • 2014-10-22
    • 2021-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多