0
点赞
收藏
分享

微信扫一扫

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

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

举报

相关推荐

0 条评论