javascript 引用類型 - Object類型

在ECMAScript中,引用類型是一種數據結構,用於將數據和功能組織在一起。

對象是某個特定引用類型的實例。

創建對象
在實際的開發環境中,我們大多數會用到的是Object類型的實例,雖然Object不具備多少功能,但對於存儲和傳輸數據來說,這個是非常理想的選中。

創建Object的方式有兩種,第一種 使用new操作符,第二種是對象字面量表示法
第一種 使用new操作符 :
var person =new Object();
var person =new Object();
person.name="lili";
person.age=20;

第二種 對象字面量表示法:
var person ={name:"lili",age:20}

另外,如果使用第二種,對象字面量語法時,如果留空其花括號,則可以定義只包含默認的屬性和方法和對象。
var person={};               //和new Object()相同
person.name="lili";
person.age=20;
這個和第一、第二種方法是等價的。

實際使用中,比較多的開發人員比較喜歡使用第二種 對象字面量語法,因爲這個代碼量少,給人家有種封裝數據的感覺。

function person(args){
var output = "";
if(typeof args.name == "string"){
output += "name:" +args.name +"\n";
}
if(typeof args.age == "number"){
output += "age:"+args .age+"\n";
}
console.log(output);
}
person ({name:"lili"});
person ({name:"lili",age:20});

以上的例子,說明了 person() 函數接收一個args的參數,這個參數可以傳遞一個帶有多個屬性的值。這種傳遞參數的模式最適合需要向函數傳入大量的可選參數的情景,一般來說,命名參數雖然容易處理,但是在有多個可選參數的情況下就會顯示不夠靈活,最好的做法是對那些必須值使用命名參數,而使用對象字面量來封裝多個可選參數。

訪問對象屬性
有兩種方法,第一個,點表示法;第二個,方括號表示法(屬性要以字符串的形式放在方括號內)
person.name          //點表示法
person["name"]     //方括號表示法

一般來說,上面兩個訪問辦法沒什麼區別,一般情況是使用點表示法,但有兩種比較特殊一點的情況。
1.當變量名可變化時,可以通過變量來訪問屬性;
2.當屬性名包含會導致語法錯誤的字符,或者屬性名使用關鍵字或者保留字。







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章