1. object類型
1.1 創(chuàng)建方式
- 第一種是使用
new 操作符后跟Object 構(gòu)造函數(shù)
let person = new Object();
person.name = "Nicholas";
person.age = 29;
- 第二種是
對象字面量
表示法
let person = {
name : "Nicholas",
age : 29
};
在使用對象字面量語法時邢享,屬性名也可以使用字符串鸳劳,如下面這個例子所示:
let person = {
"name" : "Nicholas",
"age" : 29,
5 : true
};
另外,使用對象字面量語法時,如果留空其花括號,則可以定義只包含默認(rèn)屬性和方法的對象,如下所示:
let person = {}; //與new Object()相同
person.name = "Nicholas";
person.age = 29;
注意:age作為對象的最后一個屬性脓斩,不能添加逗號,跟狱,會在IE7 及更早版本和
Opera 中導(dǎo)致錯誤俭厚。(不過現(xiàn)在高版本瀏覽器已經(jīng)不存在這個問題,出于保險和嚴(yán)謹(jǐn)起見驶臊,建議不加逗號)
1.2參數(shù)
function displayInfo(args) {
var output = "";
if (typeof args.name == "string"){
output += "Name: " + args.name + "\n";
}
if (typeof args.age == "number") {
output += "Age: " + args.age + "\n";
}
alert(output);
}
displayInfo({
name: "Nicholas",
age: 29
});
displayInfo({
name: "Greg"
});
這種傳遞參數(shù)的模式最適合需要向函數(shù)傳入大量可選參數(shù)的情形挪挤。一般來講,命名參數(shù)雖然容易處理关翎,但在有多個可選參數(shù)的情況下就會顯示不夠靈活扛门。最好的做法是對那些必需值使用命名參數(shù),而使用對象字面量來封裝多個可選參數(shù)纵寝。
- console.log(person["name"]); //"Nicholas"(提供這種思路)
- console.log(person.name); //"Nicholas"