js(javascript)中的原型继承(经典继承)

    xiaoxiao2021-03-25  132

     //为了实现上面的关系,需要进行相关的转换,也就是通过某个构造函数创建一个实例o4,执行构造函数的原型指向o3     function F(){}     F.prototype=o3;//让F的实例都可以访问到o3中的属性     var o5=new F();//o5.__proto__===o3     o5.length=10;     o5.gender="女";     console.log(o5.length);//自己的length     console.log(o5.gender);//自己的gender     console.log(o5.name);//自己没有,访问o3的name属性     //总结:     //原型式继承的功能:创建一个新的对象,让新的对象可以继承自指定的对象,从而这个新的对象既可以访问到自己的属性,也可以访问到指定的对象的属性     //现代浏览器中:Object.create()实现了原型式继承(经典继承)     //ES5(js语言规范的第五个版本)——Object.create()--->IE9以下不支持     //var o6=Object.create(o3);//o6继承自o3 封装:: //如果希望写出一段代码,实现原型式继承,让它可以兼容所有的浏览器     //执行过程:首先判断浏览器是否存在这个方法,如果不存在,这个浏览器自己没有实现经典继承,就帮他实现     //                              如果已经存在,就不需要进行任何操作     //经过上面的处理之后,就实现了可以在任意浏览器版本中,可以调用Object.create()     if(!Object.create){         Object.create=function(parent){             function F(){}             F.prototype=parent;             return new F();         };     }     alert(Object.create.toString());     var o7=Object.create(o3);//o6继承自o3     alert(o7.name);
    转载请注明原文地址: https://ju.6miu.com/read-8894.html

    最新回复(0)