1. object类型
1.1 创建方式
- 第一种是使用
new 操作符后跟Object 构造函数
let person = new Object();
person.name = "Nicholas";
person.age = 29;
- 第二种是
对象字面量
表示法
let person = {
name : "Nicholas",
age : 29
};
在使用对象字面量语法时,属性名也可以使用字符串,如下面这个例子所示:
let person = {
"name" : "Nicholas",
"age" : 29,
5 : true
};
另外,使用对象字面量语法时,如果留空其花括号,则可以定义只包含默认属性和方法的对象,如下所示:
let person = {}; //与new Object()相同
person.name = "Nicholas";
person.age = 29;
注意:age作为对象的最后一个属性,不能添加逗号,,会在IE7 及更早版本和
Opera 中导致错误。(不过现在高版本浏览器已经不存在这个问题,出于保险和严谨起见,建议不加逗号)
1.2参数
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"
});
这种传递参数的模式最适合需要向函数传入大量可选参数的情形。一般来讲,命名参数虽然容易处理,但在有多个可选参数的情况下就会显示不够灵活。最好的做法是对那些必需值使用命名参数,而使用对象字面量来封装多个可选参数。
- console.log(person["name"]); //"Nicholas"(提供这种思路)
- console.log(person.name); //"Nicholas"