zoukankan      html  css  js  c++  java
  • 原型链的继承都发生在构造函数上

    网上的一道题目:
    var M = function() { this.person = "life" }, N = function() { this.gate = "ok" }; var k = new M(), l = new N();


    k.__proto__ = l;
    
    console.log(k.gate);

    这么写是有问题的。

    _proto_和prototype的区别。

    首先应该是 k.prototype ...原型链的继承都是基本都是发生在构造函数上的,所以在实例上进行继承有点不靠谱。你这么写是没有问题的:

    m.prototype = new n;
    m.prototype.constructor = m;
    k = new m;
    console.log(k.gate);
    

    或者你也可以用简单点的办法:

     
    var m = function(){
        n.apply(this, [].slice.call(arguments));
        this.person = "Life";
    }
    k = new m;
    console.log(k.gate);
  • 相关阅读:
    HDU 4893 线段树
    Catalan数推导(转载)
    URAL 1992
    小乐乐吃糖豆
    排列组合问题总结
    G
    F
    C
    D
    B
  • 原文地址:https://www.cnblogs.com/wyaocn/p/5815755.html
Copyright © 2011-2022 走看看