chrome prototype __proto__使用問題
请问以下代码中__proto__的使用是如何用意?
function ContextMenuHandler() {
this.showingEvents_ = new EventTracker();
}
ContextMenuHandler.prototype = {
__proto__: EventTarget.prototype,
/**
* The menu that we are currently showing.
* @type {cr.ui.Menu}
*/
menu_: null,
get menu() {
return this.menu_;
}
}
如果修改成以下有什么区别呢?
ContextMenuHandler.prototype = EventTarget.prototype;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
__proto__
为一个对象实例具有的属性,指向一个原型对象prototype
为一个构造函数对象具有的属性,对象实例不具有这个属性,指向一个原型对象当使用new操作符调用一个构造函数时,__proto__属性就被绑定到生成的实例对象上,指向这个构造函数的prototype属性指向的原型对象上。
函数也是对象
prototype
属性一般用在构造函数上,构造函数创建的对象的__proto__
即为构造函数的prototype
设置如果改成下面那种代码,就不好给
ContextMenuHandler.prototype
添加方法了,因为这样还会修改EventTarget.prototype
。其实也可以ContextMenuHandler.prototype = new EventTarget()
,但这样可能会继承不必要的属性。