美文网首页
4 js之extends2

4 js之extends2

作者: 一枝妖孽 | 来源:发表于2018-05-28 22:36 被阅读0次
    /**
     * 这继承怕是没谁了======================
     * 
     * 实现的功能:
     * 
     * 当该函数有一个参数的情况下创建类
     * 当该函数有两个参数的情况下,第一个参数是基类,第二个参数就是在基类的基础上添加内容
     * 
     */
    function extend(obj,prop){
        function F(){
            
        }
        /**
         * 情况一:obj是一个json格式的对象
         * 将 obj中的key value 赋值到 F的原型上
         */
        if(typeof obj =="object"){
            for (var name in obj) {
                F.prototype[name]=obj[name];
            }
        }else{
            //第二次 
            /**
             * 情况二:obj是一个函数
             * 将 obj中的prototype 赋值到 F的原型上
             * 并将 prop的 key value赋值到 F的原型上
             * 
             */
            F.prototype=obj.prototype;
            for (var name in prop) {
                F.prototype[name]=prop[name];
            }
        }
        return F;
    }
    
    //一
    var Person=extend({
        name:'namemingcheng',
        id:6
    });
    
    //二
    var SurPerson=extend(Person,{
        sex:'aa'
    });
    
    /**
     * sp拥有Person和SurPerson的属性
     */
    var sp=new SurPerson();
    
    alert(sp.name);
    alert(sp.id);
    alert(sp.sex);
    
    

    相关文章

      网友评论

          本文标题:4 js之extends2

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