Basit JS devralması verildiğinde, bu iki örnek arasındaki temel işlevdeki pratik fark nedir? Başka bir deyişle, bir kişi ne zaman prototip (veya başka bir şekilde) yerine "bu" üzerinde bir işlev tanımlamayı seçmelidir?Bu.function ve prototype.function arasındaki fark nedir?
Benim için ikinci örnek sindirimi daha kolay, ancak bunun için ne kadar var? Bu konuda tanımlanan
fonksiyonu: prototip üzerinde tanımlı
//base
var _base = function() {
this.baseFunction = function() {
console.log("Hello from base function");
}
};
//inherit from base
function _ctor() {
this.property1 = "my property value";
};
_ctor.prototype = new _base();
_ctor.prototype.constructor = _ctor;
//get an instance
var instance = new _ctor();
console.log(instance.baseFunction);
fonksiyonu: prototip üzerinde
//base
var _base = function() {};
_base.prototype.baseFunction = function() {
console.log("Hello from base function");
}
//inherit from base
function _ctor() {
this.property1 = "my property value";
};
_ctor.prototype = new _base();
_ctor.prototype.constructor = _ctor;
//get an instance
var instance = new _ctor();
console.log(instance.baseFunction);
olası yinelenen kurucu?] (http://stackoverflow.com/questions/4508313/advantages-of-using-prototype-vs-defining-methods-straight-in-the-constructor) –