美文网首页
JS 实现继承(属性和方法)的其他方式

JS 实现继承(属性和方法)的其他方式

作者: 546a12363de6 | 来源:发表于2021-12-13 12:31 被阅读0次

    // 继承的一种实现方式

    function human(){

        this.type = "高等动物";

        this.walkType = "直立行走";

    }

    human.prototype.ability = function(){

        return "会语言,会思考,会使用工具,富有创造力"

    }

    function chinese(){

        this.race = "黄种人";

        this.nation = "中国人";

    }

    // 让使用chinese构造的函数同时拥有human的属性和方法

    chinese.prototype = new human();

    // 因为上边语句导致chinese.prototype的构造器指向了human(chinese.prototype.constructor == human),这不符合js的原生设计(chinese.prototype的构造器和chinese的原型互为指向),所以如下语句更正过来

    chinese.prototype.constructor = chinese;

    // 再在chinese原型上写chinese独有的方法

    chinese.prototype.invetion = function(){

        return "四大发明:指南针+造纸术+印刷术+火药";

    }

    var b1 = new chinese();

    // b1就会同时具有chinese的属性和方法,同时,因为chinese.prototype是使用new human构造的,所以,b1就可以点到human下的属性和方法了

    相关文章

      网友评论

          本文标题:JS 实现继承(属性和方法)的其他方式

          本文链接:https://www.haomeiwen.com/subject/nzyjfrtx.html