据我所知,由于可读性和代码回收,功能应该是独立的。
但是,对于实际上是对象原型的一部分的函数,这个规则是否仍然适用?
当我可以使用this
直接从对象内部访问该值作为属性时,我是否更愿意将变量传递给原型方法?
答案 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
,其示例中使用了这种模式。