- Object 实例对于存储和传输数据而言,是非常理想的选择。
- 创建 Object 实例有两种方式:一种是 new 操作符创建,另一种是对象字面量方式:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>创建Object 实例的方法</title>
</head>
<body>
<script type="text/javascript">
var person = new Object();
person.name = "deniro";
person.age = 19;
console.log(person);
var person2 = {
name : "deniro",
age : 19
}
console.log(person2);
</script>
</body>
</html>
- 在对象字面量中,使用逗号来分隔不同的属性。
- 使用对象字面量语法时,属性名也可以是字符串:
var person2 = {
"name" : "deniro",
"age" : 19,
5 : true
}
- 这里的数值属性名(5)会自动转换为字符串。
- 使用对象字面量语法时,如果花括号留空,会定义只包含默认属性和方法的对象:
var person = {};
- 开发人员更青睐对象字面量语法时,因为代码量少,而且给人以封装数据的感觉,实际上对象字面量语法是向函数传递大量可选参数的首选方式:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>对象字面量方式可向函数传递大量可选参数</title>
</head>
<body>
<script type="text/javascript">
function displayInfo(args){
var output = "";
if(typeof args.name == "string"){
output += "Names:" + args.name + "\n";
}
if(typeof args.age == "number"){
output += "Age:" + args.age + "\n";
}
console.log(output);
}
displayInfo({
name:"deniro",
age:19
});
displayInfo({
name:"Lucy"
});
</script>
</body>
</html>
- 这种传递参数的模式最适合需要向函数传入大量可选参数的情形。因此,对于那些必需值使用命名参数,使用对象字面量来封装多个可选参数。
- 也可以使用方括号表示法来访问对象的属性:
peron["name"]
var propertyName = "name";
console.log(person[propertyName]);
- 如果属性名中包含会导致语法错误的字符,或者属性名使用的是关键字或保留字,就可以使用方括号表示法来访问属性:
person["first name"] = "deniro";
- 因为 first name 中间包含空格,所以只能使用方括号表示法来访问。
- 除非必要,否则建议一般使用点表示法。