js創建物件的方式有很多種,每種方式都有各自的優缺點,所以選擇一個合適的創建對象的方式是很重要的,下面的內容為大家介紹了js創建方式的幾種方式。
1.工廠模式
function createPerson(name){ //1、原料 var obj=new Object(); //2、加工 obj.name=name; obj.showName=function(){ alert(this.name); } //3、出场 return obj; } var p1=createPerson('小米'); p1.showName();
優點:解決了創建相似物件的問題
缺點:並不能zhi知道一個物件的lei'類型
2.建構子
function CreatePerson(name){ this.name=name; this.showName=function(){ alert(this.name); } } var p1=new CreatePerson('小米');
優點:可以將一些實例表示為一種特定的型別
缺點:方法會在每個實例上都重新建立一遍遍
3.原型
function Person(){} Person.prototype.name="小米"; Person.prototype.showName=function(){ alert(this.name); } var p1=new Person(); p1.showName();
優點:屬性和方法定義在原型上 ,故每個實例可以共享屬性和方法
缺點:實例的屬性不能私有化
4.混合式(建構子原型)
function CreatePerson(name){ this.name=name; } Create.prototype.showName=function(){ alert(this.name); } var p1=new CreatePerson('小米'); p1.showName(); var p2=new CreatePerson('小米'); p2.showName(); alert(p1.showName==p2.showName);//true;原因:都是在原型下面,在内存中只存在一份,地址相同
透過建構子來定義屬性,原型來定義方法和共享的屬性。
5.字面量
person={ name:"小米", age:23 };
相關推薦:
以上是js創建物件的方式及其特點的詳細內容。更多資訊請關注PHP中文網其他相關文章!