我正在使用 JavaScript 进行实际的面向对象编程,并且遇到了两种不同的扩展现有对象原型的方法。
方法一:
Something.prototype.someFunc = function() {
// To something usefull
}
方法二(使用 underscore.js):
_.extend(Something.prototype, {
someFunc: function() {
// Do the same but differently
}
}
这两种方法有什么区别?哪个被认为“更好”?对我来说,第一种方法看起来更好,因为它使用普通的旧 javascript,第二种方法是别人的实现。但另一方面,underscore.js 的开发者肯定不会白白添加 _.extend() 方法?