前端之路-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