定义Javascript原型

定义Javascript原型,第1张

定义Javascript原型

我是否假设选项2导致废弃某些隐式绑定到原型的函数是否正确?

对,就是这样。尽管唯一隐式绑定的属性是

constructor
您很少需要的属性。

功能上有什么区别?

选项1只是扩展现有的原型。如果已经有

Person
从原型对象继承的实例,则它们也将能够使用该
sayName
方法。使用选项2,新的原型仅用于覆盖后实例化的对象。

选择其中一个有什么好处吗?

这些现在应该是不言自明的。选项1(扩展)被认为更干净,如果要修改外部/未知/本地原型,则必须这样做。尽量避免选择2。

如果您仍然更喜欢对象文字语法,则应考虑使用

Object.assign
扩展现有原型:

Object.assign(Person.prototype, {   sayName: function(name) {      alert(name);   }});

您可能需要填充工具

Object.assign
预ES6环境。或者,
$.extend
也可以
_.extend
工作。当然,您最喜欢的库也为此提供了一个辅助函数。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5509143.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存