嘿伙计们我在javascript中有关于原型的问题。
以下哪项是使用原型的正确和最佳方式?为什么?
var myClass = function(){
this.anotherFunction();
}
myClass.prototype.anotherFunction = function(){
console.log('my prototype function');
}
var foo = new myClass(); // which automaticaly performs the function
OR
var myClass = function(){
}
myClass.prototype.anotherFunction = function(){
console.log('my prototype function');
}
var foo = new myClass();
foo.anotherFunction(); // performs the function only when called
谢谢!
答案 0 :(得分:0)
第一个实现直接从构造函数调用方法。这些方法通常是某种初始化方法,它们构建this
上下文所需的内部状态。在非JavaScript中,适当的OOP说这意味着直接从类构造函数调用一个方法来构建一些初始状态。
第二个实现将原型函数anotherFunction
公开为公共接口的一部分。
简而言之:两种变体都是正确的,但实现了不同的概念