-
Notifications
You must be signed in to change notification settings - Fork 2
/
js对象.txt
206 lines (131 loc) · 3.38 KB
/
js对象.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
1.真实生活中的对象、属性和方法
在真实生活中,汽车是一个对象。
汽车有诸如车重和颜色等属性,也有诸如启动和停止的方法
所有汽车都拥有同样的属性,但属性值因车而异。
所有汽车都拥有相同的方法,但是方法会在不同时间被执行。
2.JavaScript 对象
您之前已经学到,JavaScript 变量是数据值的容器。
这段代码把一个单一值(porsche)赋给名为 car 的变量:
var car = "porsche";
对象也是变量。但是对象包含很多值。
这段代码把多个值(porsche, 911, white)赋给名为 car 的变量:
var car = {type:"porsche", model:"911", color:"white"};
3.值以名称:值对的方式来书写(名称和值由冒号分隔)。
JavaScript 对象是被命名值的容器。
对象属性
(JavaScript 对象中的)名称:值对被称为属性。
var person = {firstName(属性):"Bill"(属性值), lastName:"Gates", age:62, eyeColor:"blue"};
4.对象方法
对象也可以有方法。
方法是在对象上执行的动作。
方法以函数定义被存储在属性中。
方法是作为属性来存储的函数。
实例
var person = {
firstName: "Bill",
lastName : "Gates",
id : 678,
fullName : function() {
return this.firstName + " " + this.lastName;
}
};
5.this 关键词
在函数定义中,this 引用该函数的“拥有者”。
在上面的例子中,this 指的是“拥有” fullName 函数的 person 对象。
换言之,this.firstName 的意思是 this 对象的 firstName 属性。
6.对象定义
我们定义(创建)了一个 JavaScript 对象:
实例
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
7.空格和折行都是允许的。对象定义可横跨多行:
实例
var person = {
firstName:"Bill",
lastName:"Gates",
age:50,
eyeColor:"blue"
};
8.访问对象属性
您能够以两种方式访问属性:
objectName.propertyName
或者
objectName["propertyName"]
例子 1
person.lastName;
例子 2
person["lastName"];//注意[]里面的引号不能忘
<!DOCTYPE html>
<html>
<body>
<h1>我的第一张网页</h1>
<p>我的第一个段落</p>
<p id="demo"></p>
<script>
var person = {
firstName:"Bill",
lastName:"Gates",
age:50,
eyeColor:"blue"
};
document.getElementById("demo").innerHTML =person.firstName+""+person ["age"] ;
</script>
</body>
</html> //bill 50
9.访问对象方法
您能够通过如下语法访问对象方法:
objectName.methodName()
实例
name = person.fullName();
例
<!DOCTYPE html>
<html>
<body>
<h1>我的第一张网页</h1>
<p>我的第一个段落</p>
<p id="demo"></p>
<script>
var person = {
firstName:"Bill",
lastName:"Gates",
age:50,
eyeColor:"blue",
fullName : function() {
return this.firstName + " " + this.lastName;
}
};
document.getElementById("demo").innerHTML =person.fullName() ;
</script>
</body>
</html>//bill gates
10.如果您不使用 () 访问 fullName 方法,则将返回函数定义:
实例
name = person.fullName;
<!DOCTYPE html>
<html>
<body>
<h1>我的第一张网页</h1>
<p>我的第一个段落</p>
<p id="demo"></p>
<script>
var person = {
firstName:"Bill",
lastName:"Gates",
age:50,
eyeColor:"blue",
fullName : function() {
return this.firstName + " " + this.lastName;
}
};
document.getElementById("demo").innerHTML =person.fullName() ;
</script>
</body>
</html>//function() {
return this.firstName + " " + this.lastName;
}
11.方法实际上是以属性值的形式存储的函数定义。
请不要把字符串、数值和布尔值声明为对象!
如果通过关键词 "new" 来声明 JavaScript 变量,则该变量会被创建为对象:
var x = new String(); // 把 x 声明为 String 对象
var y = new Number(); // 把 y 声明为 Number 对象
var z = new Boolean(); // 把 z 声明为 Boolean 对象
请避免字符串、数值或逻辑对象。他们会增加代码的复杂性并降低执行速度。