将变量传递给原型或引用函数内的属性是更好的做法吗?

时间:2016-06-27 16:50:31

标签: javascript

据我所知,由于可读性和代码回收,功能应该是独立的。

但是,对于实际上是对象原型的一部分的函数,这个规则是否仍然适用?

当我可以使用this直接从对象内部访问该值作为属性时,我是否更愿意将变量传递给原型方法?

1 个答案:

答案 0 :(得分:1)

从原型链上方定义的方法访问实例属性是完全可接受和通用的做法,例如:

var Person = function(name) {
  this.name = name; 
};
Person.prototype.getName = function() {
  return this.name;
}

var alex = new Person('Alex');
console.log(alex.getName());

在此示例中,在没有正确上下文的情况下调用getName()将无法按预期工作。

另请参阅the MDN page on Object.prototype,其示例中使用了这种模式。