我看到有些人认为在Javascript中扩展原生原型而不屑一顾。我正在考虑这样做,因为语法方便。即。
function(array, element)
写比写
更麻烦,可读性更低array.function(element)
但是第二个只能通过扩展Array
原型来实现(AFAIK)。扩展原生原型是否有问题,以后会不会出现这种情况?
答案 0 :(得分:1)
它可能与试图做同样的其他图书馆发生冲突。
它可能与添加到本机对象的未来方法冲突。
如果有人在没有正确for (var i in array)
检查的情况下使用hasOwnProperty()
,他们的代码可能会/可能会中断,因为新方法可能会在旧浏览器的迭代中显示。