美文网首页
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