美文网首页
Object.create的兼容实现

Object.create的兼容实现

作者: 洗阳光 | 来源:发表于2015-10-01 12:24 被阅读2452次

ES5中定义的Object.create(proto)方法,会创建并返回一个新的对象,这个新的对象以传入的proto对象为原型。
语法如下:
Object.create(proto) (注:第二个参数忽略)
proto —— 作为新创建对象的原型对象
使用示例如下:

 alert(a.x);```
Object.create在某些浏览器没有支持,请给出Object.create的兼容实现。

// 参考JavaScript高级程序设计中的原型式继承​
Object.prototype.create = function(obj) {
if(Object.prototype.create){
return Object.prototype.create //特性检测,判断浏览器是否兼容
}else{
function F(){ F.prototype = obj; //以传入参数为原型构造对象
return new F(); } } };

* 在Object()函数内部,先创建了一个临时性的构造函数,然后将传入的对象作为这个构造函数的原型,最后返回了这个临时类型的新实例。
* 从本质上讲,object()对传入其中的对象执行了一次浅复制。

相关文章

网友评论

      本文标题:Object.create的兼容实现

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