[英]Javascript Prototype Pattern - Feedback
我從使用Javascript顯示模塊模式切換,下面的內容似乎可以正常工作。 我想知道的是,我做的是否正確,是否遵循最佳實踐。 例如,我保留“ this”狀態並在構造函數中調用init函數的方式正確嗎?
var testApp = function(){
//Kick it off
this.init();
};
testApp.prototype = {
getUsers: function(callback){
//do stuff
},
buildUserTable: function(data){
//do stuff
},
refreshTable: function(){
//Example
this.getUsers();
},
init: function(){
//Preserve 'this'
var instance = this;
//Callback + init
this.getUsers(function(data){
instance.buildUserTable(data);
});
$('.formSection .content').hide();
$('.formSection .content:first').slideDown('slow').addClass('selected');
}
};
window.onload = function () {
var form = new testApp();
};
您將完全覆蓋原型。 您不能以這種方式處理繼承。
由於{}
是一個對象,因此您將隱式繼承自Object
而沒有其他任何繼承。
繼承看起來像這樣:
function A() {};
function B() {};
B.prototype = new A();
var b = new B();
console.log(b instanceof A); // "true"
B
現在從A
和Object
繼承。
如果您現在這樣做:
B.prototype = {
foo: function () {}
};
var b = new B();
console.log(b instanceof A); // "false"
您不再從A
繼承;
如何為原型添加功能? 使用以下表示法:
B.prototype.foo = function () {};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.