玩笑过后

导航

原型式继承

<script>
    function inheritObject(o){
        function F(){}
        F.prototype = o;
        return new F();
    }
    
    //原型对象的内容
    var book = {
        name:'js book',
        alikeBook:['css book','html book']
    };

    var newBook = inheritObject(book);
    newBook.name = 'ajax book';
    console.log( newBook );
    newBook.alikeBook.push('as book');
    
    var otherBook = inheritObject(book);
    console.log( otherBook );

  </script>

 二次封装

<script>
    function inheritObject(o){
        function F(){}
        F.prototype = o;
        return new F();
    }
    
    //原型对象的内容
    var book = {
        name:'js book',
        alikeBook:['css book','html book']
    };

    function createBook(obj){
        var o = inheritObject(obj);
        o.getName = function(){
            console.log(this.name);
        }
        return o;
    }

    var newBook = createBook(book);

    newBook.getName();

  </script>

 

posted on 2018-09-05 11:14  玩笑过后  阅读(83)  评论(0编辑  收藏  举报