1. 程式人生 > 實用技巧 >js中的物件

js中的物件

物件的定義:

物件是一個包含相關資料和方法的集合(通常由一些變數和函式組成,我們稱之為物件裡面的屬性和方法)。

寫法:

varperson={}; 例如下邊就是一個物件:

 1     var persion={
 2             
 3             name:["bob","smith"],    
 4             age:32,                 
 5             gender:"man",            
 6             interests:['music','swim'],
 7             
 8
bio:function (){ 9 10 alert(this.name[0]+" "+this.name[1]+" "+"is"+" " + this.age +" "+"years old."+" "+"He"+" "+ "likes"+" "+this.interests[0] ) 11 }, 12 13 greeting:function() { 14 alert("Hi! I'm
" + this.name[0]) 15 } 16 17 18 }

一個物件由許多的成員組成(成員型別包括字串,函式,陣列,數字等組成),每一個成員都擁有一個名字(像上面的name、age),和一個值(如['Bob', 'Smith']、32)。每一個名字/值(name/value)對被逗號分隔開,並且名字和值之間由冒號(:)分隔 。

物件取值

直接去取物件裡的成員名就可以,例如

1         persion.name[0];          //取物件persion裡邊name裡的第一項 也就是"bob"字串。
2 persion.age; //取物件persion裡邊age裡值,也就是數字32. 3 persion.bio(); //呼叫物件裡邊persion裡邊的bio函式。

給物件賦值

直接在物件下邊進行賦值就可以,例如:

1   persion.name[0]="李敏";     //給物件persion裡邊name裡的第一項 也就是"bob"字串替換成"李敏"字串。
2   persion.age=45            //給物件persion裡邊age換值,也就是數字32替換成45.
3   persion.bio();            //呼叫物件裡邊persion裡邊的bio函式。

給物件新增新的成員

程式碼如下:

1  persion["str"]="string";                        //給物件persion 增加字串成員str。
2      
3  persion["shuzu"]=["1","2"];                     //給物件persion 增加陣列成員shuzu
4       
5  persion["fangfa"]=function  () {alert("歡迎")}   //給物件persion 增加函式成員fangfa
6 
7  persion.fangfa()                               //呼叫函式fangfa

取使用者的輸入值的時候 我們一般用input框來取值然後賦值到物件中,如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="https://libs.baidu.com/jquery/2.0.0/jquery.js"></script>
    </head>
    <body>
        
        
        <input type="text" id="wenben"/>
        <input type="button" value="按鈕" id="anniu"/>
    
        
    </body>
<script language="JavaScript1.2">
        
        var persion={
            
            name:["bob","smith"],    
            age:32,                 
            gender:"man",            
            interests:['music','swim'],
            
          bio:function (){
                
                alert(this.name[0]+" "+this.name[1]+" "+"is"+" " + this.age +" "+"years old."+" "+"He"+" "+ "likes"+" "+this.interests[0] )
           },
            
          greeting:function() {
                               alert("Hi! I'm " + this.name[0])
           }
            
            
        }
 
 
     persion["str"]="string";                        //給物件persion 增加字串成員str。
     
     persion["shuzu"]=["1","2"];                     //給物件persion 增加陣列成員shuzu
      
     persion["fangfa"]=function  () {alert("歡迎")}   //給物件persion 增加函式成員fangfa

//    persion.fangfa()                               //呼叫函式fangfa
    
    var button=document.getElementById("anniu");
    button.onclick=function () {
         persion["user"]=document.getElementById("wenben").value;  //建立persion的一個成員user的值是使用者在input文字框裡輸入的值
         alert(persion.user)
    }
    
   

        </script>

</html>

this的用法:

關鍵字"this"指向了當前程式碼執行時的物件,在上邊的程式碼中,this代表了persion這個物件,當有多個物件的時候可能一個物件中包含有相同的成員名比如name值這時候這個this保證了當程式碼的上下文(context)改變時變數的值的正確性