var car = {
year:1980,
color:"red",
passengers:4,
mileage:1024,
model:"CC car",
make:"China",
"car number":"8888888"
};
上面定义了一个包含一系列属性的对象,并将其赋给了变量car。我们就可以通过变量 car去访问和修改这个对象的属性。
注意事项:
1.属性与值之间用冒号“:”隔开。
2.属性与属性之间用逗号“,”隔开。
3.如果属性名有空格,一定要用双引号将其括起来,如上例,否则,一般不需要用双引号,获取属性值有数组下标法、dot:
car["car number"];
car.model;
4.最后一个属性值后面不需要加逗号。
5.不能含有同名属性。
6.可以随时增加属性,如car.brand=“bao ma”
7.可以随时删除属性,如delete car.color;delete成功,则返回true,否则返回false。
8.建立空对象,如 var wahaha ={};
9.访问对象的属性值用“."点。
10.这个car变量是这个对象的引用。所以将这个变量传递给函数的形参或赋给其他变量时,它们都是指向同一个对象。这一点与实参不一样,实参是按值传递的。
是时候给我们的对象添加行为了
var car = {
year:1980,
color:"red",
passengers:4,
mileage:1024,
model:"CC car",
make:"China",
"car number":"88888",
started:false,
start:function(){
this.started = true;
},
stop:function(){
this.started = false;
},
drive:function(){
alert("OK Boss,Let's Go!");
},
call:function(name){
alert("hello,"+name+". Where do you want to go?");
}
};
使用方法来修改属性是另一种封装方式,它让对象决定如何完成工作。通常可以达到改善代码的可维护性和可扩展性的目的。
注意:
1.上面这个对象里面有两个方法是修改对象属性值的,但是在函数里要使用对象的属性,必须带上this,否则会修改不成功。this会告诉javascript解释器,这个不是全局变量,而是当前对象的属性。
2.对象调用方法,也是用“."点来调用。
3.可以将函数视为值。
4.能够创建类模板,用于生成统一的对象。
最后给出一个运行实例:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>My First JavaScript</title>
</head>
<body>
<script>
var car = {
year:1980,
color:"red",
passengers:4,
mileage:1024,
model:"CC car",
make:"China",
"car number":"88888",
started:false,
start:function(){
this.started = true;
},
stop:function(){
this.started = false;
},
drive:function(){
alert("OK Boss,Let's Go!");
},
call:function(name){
alert("hello,"+name+". Where do you want to go?");
}
};
car.start();
alert(car.started);
car.drive();
car.call("Tom");
alert(car["car number"]);
car.brand = "bao ma";
alert(car.brand);
delete car.model;
alert(car.model);
function changeCar(micar){
car.color = "blue";
}
changeCar(car);
alert(car.color);
</script>
</body>
</html>
谢谢阅读。