屬性是一個變量,用來表示一個對象的特徵,如顏色、大小、重量等;方法是一個函數,用來表示對象的操做,如奔跑、呼吸、跳躍等。數組
在JavaScript中一般使用」."運算符來存取對象的屬性的值。或者使用[]做爲一個關聯數組來存取對象的屬性。函數
對象的屬性和方法統稱爲對象的成員。性能
訪問對象的屬性this
在JavaScript中,能夠使用「 . 」和「 [ ] 」來訪問對象的屬性。編碼
1. 使用「 . 」來訪問對象屬性spa
語法:.net
objectName.propertyNamecode
其中,objectName 爲對象名稱,propertyName爲屬性名稱。htm
2. 使用「 [ ] 」來訪問對象屬性對象
語法:
objectName[propertyName]
其中,objectName 爲對象名稱,propertyName爲屬性名稱。
訪問對象的方法
在JavaScript中,只能使用「 . 」來訪問對象的方法。
語法:
objectName.methodName()
其中,objectName 爲對象名稱,methodName() 爲函數名稱。
【例5-1】建立一個Person類:
function Person() { this.name=" 張三 "; // 定義一個屬性 name this.sex=" 男 "; // 定義一個屬性 sex this.age=22; // 定義一個屬性 age this.say=function(){ // 定義一個方法 say() return "嗨!你們好,個人名字是 " + this.name + " ,性別是 " + this.sex + ",今年 " + this.age +"歲!"; } } var zhangsan=new Person(); alert("姓名:"+zhangsan.name); // 使用「.」來訪問對象屬性 alert("性別:"+zhangsan.sex); alert("年齡:"+zhangsan["age"]); // 使用「[ ]」來訪問對象屬性 alert(zhangsan.say); // 使用「.」來訪問對象方法
PS:淺析對象訪問屬性的"."和"[]"方法區別
在JavaScript中一般使用」."運算符來存取對象的屬性的值。或者使用[]做爲一個關聯數組來存取對象的屬性。可是這兩種方式有什麼區別了?
例如,讀取object中的property屬性值:
object.property
object['property']
以上兩種方式均可以實現屬性的存取。
1.語法方面的區別
點表示法的對象的屬性名是標識符,然後者的屬性名則是一個字符串。
2.靈活性方面的區別
在JavaScript編寫程序中,能夠爲對象建立任意數目的屬性。但使用」.「運算符來存取一個對象的屬性時,屬性名是用標識符表示的。而在JavaScript程序中,標識符必須被逐字地輸入,它們不是一種數據類型,所以程序不能對其操做。也就是說,標識符是靜態的,在程序中必須對其進行硬編碼。
而使用數組[]表示法來存取一個對象的屬性時,屬性名是用字符串表示的。字符串是JavaScript的一種數據類型,所以能夠在程序運行中操做並建立它們。
3.性能方面區別
數組[]表示法在存取屬性值時會進行表達式運行。而點表示法是直接存取屬性值,理論上執行效率會比數組表示法高。性能方面其實能夠忽略。
某些場景必須用到數組表示法來動態存取屬性值,這個是點表示法沒法作到的。
總的來講,這兩種方法區別上不大,都有對應的使用場景。點表示法通常做爲靜態對象使用時來存取屬性。而數組表示法在動態存取屬性時就很是有用。
轉載來源:http://www.jb51.net/article/74898.htm