前端之路-JavaScript中对象创建方式

作者: 三点水滴 | 来源:发表于2019-04-24 20:10 被阅读22次

    JavaScript中获得一个对象的方法

    • 对象直接量

      var o1 = {
          name: "tom"
      };
      
    • 构造函数

      var o2 = new Object();
      
    • 使用Object.create()

      var o3 = Object.create(null);

    差别在哪里

    使用对象直接量和构造函数创建的对象,本质上是一样的,即o1和o2的原型是同一个object,而这个object的原型是null。

      o1.__proto__ === o2.__proto__   // true,即指向同一个对象
      o1.__proto__.__proto__    // null,即位于原型链顶端的是null
    

    而第三种方式创建的对象是“干净的”,即没有任何属性和方法。使用console.dir()也无法打印其属性,其原型则是为参数null。但是在Chrome控制台中,会显示其原型是undefined。

      console.dir(o3)   // no properties
      o3.__proto__    // undefined
    
    Chrome-console

    相关文章

      网友评论

        本文标题:前端之路-JavaScript中对象创建方式

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