zoukankan      html  css  js  c++  java
  • js原生设计模式——2面向对象编程之继承—原型继承(类式继承的封装)

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>prototypeInherit</title>
        <script type="text/javascript">
        //原型式继承:实质上就是类式继承的函数封装(但有缺陷)
        function inheritObject(obj){
            //声明一个过渡函数对象
            function _f(){}
            _f.prototype = obj;
            return new _f();
        }
        var book = {
            name:'js book',
            alike:['css','html']
        }
        var newbook = inheritObject(book);
        newbook.name = 'ajax book';
        console.log(newbook.name);      //'ajax book'
        newbook.alike.push('js');
        console.log(newbook.alike);     //["css", "html", "js"]


        var combook = inheritObject(book);
        console.log(combook.name);      //'js book'
        console.log(combook.alike);     //["css", "html", "js"]newbook中修改加入的'js'元素,combook中也共享了
        //小结:原型继承中——父对象的直接属性被分别拷贝,数组类结构属性会被共用。(推荐使用类式继承,继承的比较完美,每个实例都是独立对象,又都继承了父类的直接属性和原型prototype属性)
        //本例已经通过验证
        </script>
    </head>
    <body>
        
    </body>
    </html>

  • 相关阅读:
    常用命令
    添加云存储服务
    安装Prometheus-Opeartor
    Prometheus-operator架构详解
    Helm使用详解
    莫队乱搞--BZOJ2038: [2009国家集训队]小Z的袜子(hose)
    BZOJ1443: [JSOI2009]游戏Game
    BZOJ2006: [NOI2010]超级钢琴
    BZOJ4408: [Fjoi 2016]神秘数
    hdu6110:路径交
  • 原文地址:https://www.cnblogs.com/koleyang/p/4936590.html
Copyright © 2011-2022 走看看