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

js的原型继承小结

时间:2015-11-28 16:42:22      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

考虑:有一个想要复用的对象,并且想要创建的第二个对象需要从第一个对对象中获取其功能。

实现如下:

//要继承的对象
var parent = {
    name:"Papa"
};
//新对象
var child = object(parent);
console.log(child.name);

object函数实现如下:

//原型继承
function object(o){
    function F(){};
    F.prototype = o;
    return new F();
};

讨论:

可以使用构造函数创建父对象,这样做的话,“自身”属性和构造函数的原型属性都会被继承。

//父构造函数
function Person(){
    this.name = "jie";
};
//添加到原型的属性
Person.prototype.getName = function(){
    return this.name;
};
var papa = new Person();
var kid = object(papa);
//测试
console.log(kid.getName());

本模式的另一种变化,可以选择仅继承现有构造函数的原型对象。

//父构造器
function Person(){
    this.name ="jie";
}
//添加到原型的属性
Person.prototype.getName = function() {
    return this.name;
}
var kid = object(Person.prototype);
console.log(typeof kid.name);  //结果"undefined"
console.log(typeof kid.getName);  //结果"function"

 

js的原型继承小结

标签:

原文地址:http://www.cnblogs.com/scnuwangjie/p/5002768.html

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