1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="UTF-8">
5 <title></title>
6 <script type="text/javascript">
7
8 var obj = new Object();
9
10 /*
11 * 向对象中添加属性
12 * 属性名:
13 * - 对象的属性名不强制要求遵守标识符的规范
14 * 什么乱七八糟的名字都可以使用
15 * - 但是我们使用是还是尽量按照标识符的规范去做
16 *
17 */
18 obj.name = "孙悟空";
19
20 obj.var = "hello";
21
22
23 /*
24 * 如果要使用特殊的属性名,不能采用.的方式来操作
25 * 需要使用另一种方式:
26 * 语法:对象["属性名"] = 属性值
27 * 读取时也需要采用这种方式
28 *
29 *
30 * 使用[]这种形式去操作属性,更加的灵活,
31 * 在[]中可以直接传递一个变量,这样变量值是多少就会读取那个属性
32 *
33 */
34
35 //obj.123 = 789;
36 //console.log(obj.123);//Uncaught SyntaxError: Unexpected number
37
38 obj["123"] = 789;
39 console.log(obj["123"]);//789
40
41 obj["nihao"] = "你好";
42 console.log(obj["nihao"]);//你好
43
44 var n = "nihao";
45 console.log(obj[n]); //你好,变量的值是什么就去读哪个属性
46
47
48 //---------------------------------------------------------------------------------
49
50
51 /*
52 * 属性值
53 * JS对象的属性值,可以是任意的数据类型
54 * 甚至也可以是一个对象
55 */
56
57 obj.test = true;
58 obj.test = null;
59 obj.test = undefined;
60
61 //创建一个对象
62 var obj2 = new Object();
63 obj2.name = "猪八戒";
64
65 //将obj2设置为obj的属性
66 obj.test = obj2;
67
68 console.log(obj.test.name);//猪八戒
69
70
71 //----------------------------------------------------------------------------------
72
73
74 /*
75 * in 运算符
76 * - 通过该运算符可以检查一个对象中是否含有指定的属性
77 * 如果有则返回true,没有则返回false
78 * - 语法:
79 * "属性名" in 对象
80 */
81 console.log(obj.test2);//undefined
82
83 //检查obj中是否含有test2属性
84 console.log("test2" in obj);//false
85 console.log("test" in obj);//true
86 console.log("name" in obj);//true
87
88
89
90 </script>
91 </head>
92 <body>
93 </body>
94 </html>