javascript建立物件總結

2021-07-10 08:59:44 字數 1864 閱讀 5930

1.工廠模式

function createperson(name,age,job);

return o;

} var person1=createperson("jack",25,"software engineer");

var person2=createperson("rose",24,"doctor");

工廠模式解決了建立多個相似物件的問題,但沒有解決物件識別的問題(即怎麼知道乙個物件的型別)

2.建構函式模式

function person(name,age,job);

} var person1=new person("jack",25,"software engineer");

var person2=new person("rose",24,"doctor");

建構函式模式解決了物件識別問題,但是每個方法都要在例項上重新創造一遍(不同例項上的同名函式是不相同的)。改進:通過把函式定義轉移到建構函式外部:

function person(name,age,job)

} var person1=new person("jack",25,"software engineer");

var person2=new person("rose",24,"doctor");

這樣新問題又來了:如果需要定義很多方法,就要定義很多全域性函式,沒有封裝性可言。

3.原型模式

function person()

person.prototype.name="jack";

person.prototype.age=25;

person.prototype.job="software engineer";

person.prototype.sayname=function();

var person1=new person();

person1.sayname(); //"jack"

使用原型物件的好處是可以讓所有物件例項共享它所包含的屬性和方法,問題也是由其共享本性導致的,特別是對包含引用型別值的屬性來說,所以我們一般很少單獨使用原型模式。

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

function person(name,age,job)

person.prototype=

} var person1=new person("jack",25,"software engineer");

var person2=new person("rose",24,"doctor");

這是建立自定義型別最常見,最廣泛使用的一種方式。

5.動態原型模式

function person(name,age,job);

} }var person1=new person("jack",25,"software engineer");

只有在sayname()方法不存在的情況下,才把它新增到原型中。

6.寄生建構函式

function person(name,age,job);

return o;

} var person1=new person("jack",25,"software engineer");

var person2=new person("rose",24,"doctor");

7.穩妥建構函式模式

function person(name,age,job);

return o;

}

JavaScript建立物件

一 建立單個物件 方式一 object建構函式 var o new object o.key value 方式二 物件字面量 方式一和二缺點 使用相同的介面建立很多物件會產生大量重複 使用方式三解決 方式三 工廠模式 使用函式封裝以特定介面建立物件的細節 function createobject ...

JavaScript 建立物件

工廠模式抽象了建立具體物件的過程,能夠快速建立大量具有相似屬性及方法的物件。function createperson name,age,job obj.name name obj.age age obj.job job obj.sayname function return obj var per...

JavaScript 建立物件

function person var person new person 複製 使用關鍵字new建立新例項物件經過了以下幾步 1 建立乙個新物件,如 var person 2 新物件的 proto 屬性指向建構函式的原型物件。3 將建構函式的作用域賦值給新物件。也所以this物件指向新物件 4 執...