首頁 >web前端 >js教程 >js創建物件的方式及其特點

js創建物件的方式及其特點

不言
不言原創
2018-07-17 15:10:231580瀏覽

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建立物件的寫法範例

多種創建js物件的方法詳細講述

#

以上是js創建物件的方式及其特點的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn