我对面向对象编程的标准做法有疑问。让我们说通常我会编写如下函数:
function mapped(array) {
return _.map(array, function (ele) {
return ele
})
}
其中数组指的是某个全局变量。让我们说它的价值是:
[1,2,3]
我想在面向对象的编程中尝试这样做。所以,假设我有一个构造函数:
function spider(obj) {
this.obj = obj
}
我想将映射函数添加到蜘蛛原型中。重写它的标准方法是什么?我是否会按原样保留映射函数,将其添加到spider的原型中,然后调用它:
var object = new spider([4,5,6])
object.mapped(object.obj)
或者我会像这样重写它:
spider.prototype.mapped = function() {
return _.map(this.obj, function (ele) {
return ele
})
}
然后只需称它为:
var object = new spider([4,5,6])
object.mapped()