JS中建立物件的幾種模式

2021-08-02 03:39:46 字數 2062 閱讀 6985

/**

* created by sibuk on 2017/6/5.

*///工廠模式

function createperson( name, age, job )

return o;

}var person1 = createperson("nicholas", 29, "software engineer");

var person2 = createperson("greg", 27, "doctor");

person1.sayname(); //"nicholas"

person2.sayname(); //"greg"

//建構函式模式

function person( name, age, job )

}var person1 = new person("nicholas", 29, "software engineer");

var person2 = new person("greg", 27, "doctor");

person1.sayname(); //"nicholas"

person2.sayname(); //"greg"

//原型模式

function person()

person.prototype.name = "nicholas";

person.prototype.age = 29;

person.prototype.job = "software engineer";

person.prototype.sayname = function()

var person1 = new person();

person1.sayname(); //"nicholas"

var person2 = new person();

person2.sayname(); //"nicholas"

alert(person1.sayname == person2.sayname); //true

//組合使用建構函式模式和原型模式

function person( name, age, job )

person.prototype =

}var person1 = new person("nicholas", 29, "software engineer");

var person2 = new person("greg", 27, "doctor");

person1.friends.push("van");

alert(person1.friends); //"shelby,court,van"

alert(person2.friends); //"shelby,court"

alert(person1.friends === person2.friends); //false

alert(person1.sayname === person2.sayname); //true

//動態原型模式

function person( name, age, job )

}}var person = new person("nicholas", 29, "software engineer");

person.sayname();

//寄生建構函式模式

function specialarray() ;

//返回陣列

return values;

}var colors = new specialarray("red","blue","green");

alert(colors.topipedstring()); //"red|blue|green"

//穩妥建構函式模式

function person( name, age, job ) ;

//返回物件

return o;

}var person = person("nicholas", 29, "software engineer");

person.sayname(); //"nicholas"

js建立物件的幾種模式

原理 在乙個函式內部完成建立物件新增屬性和方法。缺陷 無法識別物件的型別。佔記憶體,沒有提取公共方法。例項 function createperson name,age,job return o var person1 createperson nicholas 29 software engine...

js中物件的幾種建立方式

物件 萬事萬物皆是物件 jsesma5中沒有類這個概念 最原始的建立物件的方法 使用function定義乙個物件 定義了一模板 建構函式 1.自定義建構函式 通過new這個關鍵字建立物件 例項化物件 建立人這個物件 function person name,age,job new關鍵字 建立物件 例...

細節 js 建立物件的幾種模式舉例

var sayname function function createperson name,age obj.name name obj.age age obj.sayname sayname return obj var newperson createperson oliver 18 cons...