JavaScript面向對象之對象的聲明、遍歷和存儲

1、對象的聲明方式

 

1. 字面式(json格式)聲明對象

var obj={
   屬性名:屬性值,
   方法名:function(){
      //函數執行體
   }
}
 

2. new 操做符+Object 聲明對象

var obj=new Object();
obj.屬性名=屬性值;
obj.方法名=function(){
   //函數執行體
}
 

3. 構造函數聲明對象

function test([參數列表]){
   this.屬性名=屬性值;
   this.方法名=function(){
      //函數執行體
   }
}
var obj=new test(參數);
 

4. 工廠方式聲明對象

function createObject(nam,age){
   var obj=new Object();
   obj.name=name;
   obj.age=age;
   obj.run=function(){
      return this.name+this.age
   };
   return obj;
}
var obj1=createObject(‘zhangsan’,100);
var obj2=createObject(‘lisi’,200);
 

5. 原型模式聲明對象

function test(){
   test.prototype.屬性名=屬性值;
   test.prototype.方法名=function(){
      //函數執行體
   }
}
var obj=new test();
 

6. 混合模式聲明對象

function test(參 1,參 2){
   this.屬性名 1=參 1;
   this.屬性名 2=參 2;
}
test.prototype.方法名=function(){
   //執行代碼
}
var obj=new test(參 1,參 2);

 

2、對象的遍歷

 

  • for-in是爲遍歷對象而設計的,不適用於遍歷數組。

  • 遍歷數組的缺點:數組的下標index值是數字,for-in遍歷的index值"0","1","2"等是字符串

var obj={
    name:"Zhangsan",
    age:"18",
    action:function(){
        alert("Hello!");
    }
}
for (var i in obj){
    console.log(i);    //控制檯依次顯示:name  age  action
}
for (var i in obj){
    console.log(obj[i]);    //控制檯依次顯示:Zhangsan  18  ƒ (){alert("Hello!");}
            alert("Hello!");
        }
}

 

3、對象的存儲

 

var obj={}
    obj.name="Zhangsan";
    obj.age="18";
    obj.action=function(){
        alert("Hello!");
    }

 

相關文章
相關標籤/搜索