我得到了Object.prototype的扩展充满了陷阱。 有没有扩展其他标准的JavaScript原型时:String.prototype,Array.prototype,Function.prototype?扩展javascript标准类型陷阱
在此先感谢。
[编辑]相关:What are pitfalls of extending Object.prototype?
我得到了Object.prototype的扩展充满了陷阱。 有没有扩展其他标准的JavaScript原型时:String.prototype,Array.prototype,Function.prototype?扩展javascript标准类型陷阱
在此先感谢。
[编辑]相关:What are pitfalls of extending Object.prototype?
真正有用的
Extending Natives in Javascript
[编辑] 这不应该只显示你可以,但如何以避免陷阱做到这一点。 :)
那么扩展本机永远没关系吗?
我已经描述了一些不增加原生原型的原因;你可能知道别人。您需要确定是否每个问题都将通过您的计划扩展来解决,以及扩展是否会为您的代码库增加功能和清晰度。
@Downvoter你为什么downvote? – Zac 2012-08-16 18:20:11
如果未来版本的浏览器实现
Array.prototype.remove
(或者,也可以通过 自己的意愿,因为在升级到ECMAScript标准),其实施将通过我们的 习俗之一,它不仅将覆盖效率较低(我们不能在方法优化服务中操纵浏览器引擎内部),但更重要的是,它们可能会有不同的非标准结果。使用对象迭代周期扩展本地对象。参数如下所示:因为for循环将访问对象原型链中所有枚举的 属性,所以自定义本机属性 将意外地包含在此类迭代中。
如果 碰巧定义了一个具有相同名称的属性,则Object.prototype的后代(即其原型不是显式为空的每个对象)都将失去对扩展属性的访问权限。
http://javascriptweblog.wordpress.com/2011/12/05/extending-javascript-natives/
这个问题是有关 - http://stackoverflow.com/questions/7141734/extending-core-types-without-modifying-prototype – maerics 2012-08-16 14:41:05