JS如何创建对象

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>

谢谢阅读。

猜你喜欢

转载自blog.csdn.net/weixin_40763897/article/details/87977656