JS三種創建對象的方式及工廠模式


首先,JS是一門基於對象的語言,不是面向對象語言,因為他的語法中沒有Class(類)

     JS雖然不是面向對象的語言,但是可以模擬面向對象語言的編程思想

 

1.通過new的方式(系統對象)

     var obj=new Object();

  var arr=new Array();

  var str=new String();

 

2.字面量的方式

var obj={
      name:"小明",
      age:20,
      eat:function(){
            console.log("吃")
    }      
}

 

3.自定義構造函數創建對象

function Person(name,age){
  this.name=name;
  this.age=age;
  this.eat=function(){
     console.log("吃");
  }     
}

  3.1實例化對象

var man = new Person("小明",20);

  在這個實例化過程中發生了四件事:

    (1)開辟內存空間,把創建的新對象存儲起來

    (2)把this設置為當前對象

    (3)設置屬相和方法的值

    (4)返回當前對象

4.工廠模式創建對象

//我們將他封裝成一個函數
function createObj(name,age){
   var obj=new Object();
   obj.name=name;
   obj.age=age;
   return obj;        
}

  4.1大批量創建對象

var man1=createObj("小明",20);
var man2=createObj("小明",20);
var man3=createObj("小明",20);
var man4=createObj("小明",20);
var man5=createObj("小明",20);

  4.2優缺點:

      優點:可用於大批量創建對象

      缺點:一種數據類型


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM