← 返回首页
Javascript基础教程(十二)
发表时间:2020-03-27 01:18:06
讲解Javascript的对象

Javascript是一种基于对象的语言,你遇到的所有东西几乎都是对象。但是,它又不是一种真正的面向对象编程语言,因为它的语法中没有类的概念。

1.如何创建对象

JavaScript用一个{...}表示一个对象,键值对以xxx: xxx形式申明,用,隔开。 注意,最后一个键值对不需要在末尾加逗号。

访问不存在的属性不报错,而是返回undefined。 例如:

<script>
    //创建了汽车对象,包含三个属性:品牌、型号、颜色
    let car = {type:"porsche", model:"911", color:"white"};

    console.log("品牌:"+car.type);
    console.log("型号:"+car.model);
    console.log("颜色:"+car.color);
    console.log("价格:"+car.price);
</script>

运行结果:
品牌:porsche
型号:911
颜色:white
价格:undefined

2.添加和删除属性

由于JavaScript的对象是动态类型,你可以自由地给一个对象添加或删除属性。

<script>
    //创建了汽车对象,包含三个属性:品牌、型号、颜色
    let car = {type:"porsche", model:"911", color:"white"};

    console.log("品牌:"+car.type);
    console.log("型号:"+car.model);
    console.log("颜色:"+car.color);
    console.log("价格:"+car.price);

    //添加价格属性
    car.price = 500000;
    console.log("价格:"+car.price);

    //删除品牌属性
    delete car.type;
    console.log("品牌:"+car.type);
</script>

运行结果:
品牌:porsche
型号:911
颜色:white
价格:undefined
价格:500000
品牌:undefined

3.添加方法

对象也可以有方法。方法是在对象上执行的动作。方法以函数定义被存储在属性中。

例如:

<script>
    //创建了汽车对象,包含三个属性:品牌、型号、颜色
    let car = {
        type: "porsche",
        model: "911",
        color: "white",
        drive: function(){
            console.log(this.type+"牌,"+"型号为:"+this.model+",小汽车启动了...");
        }
    };

    car.drive();
</script>

运行结果:
porsche牌,型号为:911,小汽车启动了...

4.this 关键词

与Java类似,this是指向当前对象的引用。 在函数定义中,this 引用该函数的“拥有者”,即调用当前方法的那个对象。

this.type的意思是 this 对象的 type 属性。