`

js 面向对象理解

阅读更多

var Che = function (name, color) {   

    //创建类的属性

    this.name = name;

    this.color = color;

    //创建类的方法

    this.run = function () {

        console.log('开着' + this.color + '颜色的' + this.name + '飞奔在青青草原上...');

    };

};

 

* Che 就是一个函数,可以看成类的构造函数。

* //用prototype给Che原型添加了一个方法。(像是父类继承下来的方法,每个对象只有引用)

Che.prototype.display=function(){

    console.log(this.color+this.name)

}  

 

var bc=new Che('bmw', 'red');

bc= {

    color: "red"

    name: "bmw"

    run: function () {

        console.log('开着' + this.color + '颜色的' + this.name + '飞奔在青青草原上...');

    }

 

* new 是用来构建对象

* bc 就是一个对象

* bc.display=function(){

    console.log(this.color+this.name)

}   //给对象bc添加了一个display的方法(好比类方法)

 

 

注释:类内部的成员可以用delete删除,而原型里定义的,则不能用delete 实例名.成员名来删除的。

** 我们重新定义了bc的原型方法,bc的原型也是一个对象{},bc实例的原型方法保存新定义的方法的引用,没有原型方法的引用,也就脱离了Car原型的影响。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics