对象
# 对象
事实上,JavaScript
中所有事物都是对象,对象就是拥有属性和方法的数据。
# 属性和方法
属性是与对象相关的值,与游戏人物的属性类似。方法是能够在对象上执行的动作,与游戏人物的技能类似。
举例:汽车就是现实生活中的对象。汽车的属性:
car.name=Fiat
car.model=500
car.weight=850kg
car.color=white
1
2
3
4
2
3
4
汽车的方法:
car.start()
car.drive()
car.brake()
1
2
3
2
3
同样,游戏中的人物也有生命值,攻击力等属性,也有攻击,防御,放火球等方法。这样,我们就可以把游戏中的人物当做一个对象来设计。当你像这样声明一个 JavaScript
变量时:
var txt = "Hello";
1
你实际上已经创建了一个 JavaScript
字符串对象。字符串对象拥有已经按标准定义好的属性 length
。对于上面的字符串来说,length 的值是 5。字符串对象同时拥有若干个内建的方法。
属性:
txt.length=5
1
方法:
txt.indexOf()
txt.replace()
txt.search()
1
2
3
2
3
除了使用JavaScript
内建的几种对象外,我们还可以自己定制自己的对象,例如刚才说到的游戏人物,就可以像这样定义:
var person=new Object();
person.name="Xiao Rou"
person.hp=500;
person.atc=10;
person.def=5;
person.attack=function(){//……具体动作}
1
2
3
4
5
6
2
3
4
5
6
访问对象的属性和方法都要使用.
来访问,例如:
person.attack()//执行person的attack方法
var a=person.atc//给a赋值person的atc属性
1
2
2
拓展
关于js的字符串对象,点此了解字符串对象 (opens new window)默认提供的属性和方法。
js的内建对象,一般我们称呼为JavaScript标准内置对象,点此了解 (opens new window)。
# 用对象字面量写法定义局部单例对象
第二版推荐使用局部单例的方式实现为一个对象定义属性和方法。根据第一版的汽车举例,第二版推荐使用如下的方式定义:
/** @description 这是一辆车 */
const car = {
// 推荐使用字符串的方式来明确地定义车辆的名称
name: 'Fiat',
model: 500,
weight: 850,
// 第二版推荐用CSS的颜色样式写法来描述颜色。
color: 'rgb(255,255,255)',
/** @description 汽车启动 */
start() {
console.log(" 启动 ");
},
/** @description 汽车行驶 */
drive() {
console.log(" 行驶 ");
},
/** @description 汽车刹车 */
brake() {
console.log(" 刹车 ");
},
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
第二版不推荐使用new Object()
的方式来定义对象,这样过于笨重,没有发挥js
的语言优势。
该例子涉及到了对象内定义函数(方法)的写法,关于对象内定义函数的相关知识,可以阅览下一节函数。
上次更新: 10/9/2022, 7:35:50 PM