我正在学习使用JavaScript进行面向对象编程,遇到了两种不同的扩展现有对象原型的方法。
第一种方法:
Something.prototype.someFunc = function() {
// To something usefull
}
方法二(使用underscore.js):
_.extend(Something.prototype, {
someFunc: function() {
// Do the same but differently
}
}
这两种方法有什么区别?哪一种被认为是“更好”的呢?在我看来,第一种方法更好,因为它使用了简单的javascript代码,而第二种方法则是其他人的实现。但另一方面,underscore.js开发者肯定不是无缘无故地添加了_.extend() 方法吧?