码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript对象继承的方法

时间:2015-07-24 00:19:36      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:原型   对象继承   

    写这个话题单纯是给自己做笔记了,不然老忘记。

    第一种方法:

    function fn1(x) {
        this.x = x;
    }

    function fn2(x, y) {
        this.tmpObj = fn1;
        this.tmpObj(x);
        delete this.tmpObj;
        this.y = y;
    }

    第二种方法:call()或apply()

    function fn1(x) {
        this.x = x;
    }

    function fn2(x, y) {
        fn1.call(this, x);
        this.y = y;
    }

    第三种方法:原型链继承

    function fn1(x) {
        this.x = x;
    }

    fn1.prototype.y = function() {
        console.log("i am pomelo");
    }

    function fn2() {}

    fn2.prototype = new fn1();
    fn2.prototype.constructor = fn2;
    var fn2Obj = new fn2();
    fn2Obj.y();

    实际用得最多的是第二种和第三种。

    function fn1(x) {
        this.x = x;
    }

    fn1.prototype.z = function() {
        console.log("i am pomelo");
    }

    function fn2(x, y) {
        fn1.apply(this, [x]);
        this.y = y;
    }

    fn2.prototype = new fn1();
    fn2.prototype.constructor = fn2;
    var fn2Obj = new fn2(1024, 2048);
    console.log(fn2Obj.x);
    console.log(fn2Obj.y);
    fn2Obj.z();


JavaScript对象继承的方法

标签:原型   对象继承   

原文地址:http://iampomelo.blog.51cto.com/10193513/1677585

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