js高级——经典继承的实现
来源:互联网 发布:servlet怎么返回json 编辑:程序博客网 时间:2024/05/16 14:26
1、经典继承的语法:Object.create(obj),返回值为一个对象,继承自参数中的obj,但是存在兼容性问题
varo = {
name:"张三"
};
varobj = Object.create(o);
console.log(obj.name);
2、如何处理Object.create()的兼容性问题:兼容性的出现是因为浏览器中不支持这个方法。既要保证在支持这个方法的浏览器里面保证正常使用,又要保证在不支持这个方法的浏览器里面不报错
//检测浏览器的能力,如果没Object.create()方法就给它添加一个(不推荐使用)
//自己定义一个函数
functioncreate(obj){
if(Object.create){//浏览器中是否支持Object.create()这个方法
returnObject.create(obj);//如果有的话直接调用去实现功能并把创建出来的对象返回回去
}else{//浏览器中不支持这个方法
functionF(){}//自己手动创建一个构造函数
F.prototype= obj;
return newF();
}
}
阅读全文