码迷,mamicode.com
首页 > Web开发 > 详细

关于js的对象原型继承

时间:2017-07-04 23:20:01      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:基本   ret   cti   code   java   name   属性   调用   creat   

javascript中,对象的继承是通过原型去继承。

可以这样理解:js中的对象,包含的除了属性和方法,还有一个最基本的原型__proto__对象。这个原型__proto__指向谁,这个对象就继承谁。这是最容易理解对象原型继承的一种方式。

如下面的代码:

var student={
    name:zhangsan,
    age:21,
    run:function(){
        return this.name+ is running!;
    }
};

var xiaoming={
    name:xiaoming
};

xiaoming.__proto__=student;

xiaoming这个对象除了拥有自己的name属性,还继承了student对象。可以直接调用student的run方法,如:xiaoming.run();

当然,直接对对象的__proto__赋值不是一种好的方法,可以用Object.create(A)来代替。如下面的代码:

var student={
    name:zhangsan,
    age:21,
    run:function(){
        return this.name+ is running!;
    }
};

function createStudent(name){
    var stu=Object.create(student);
    stu.name=name;    return stu;
}

var xiaoming=createStudent(xiaoming);

document.write(xiaoming.__proto__ === student); //true

以上代码证明使用Object.create(A)来创建一个对象,这个对象的__proto__指向的是A对象。

这只是创建原型继承的众多方法之一。

关于js的对象原型继承

标签:基本   ret   cti   code   java   name   属性   调用   creat   

原文地址:http://www.cnblogs.com/williamwsj/p/7118828.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!