一、创建对象的几种方法

  1. // 对象字面量
  2. var O1 = {name: 'o1'}
  3. // 方法二
  4. var o2 = new Object({name: 'o2'})
  5. // 方法三
  6. var M = function(name) {this.name = name}
  7. var o3 = new M('o3')
  8. // 方法四
  9. var P = {name: 'o4'}
  10. var o4 = Object.create(P)

image.png

二、instanceof原理

image.png
o3 instanceof M = true
o3 instanceof Object = true
instanceof 运算符 在o3实例原型链上的构造函数都会返回true 所有可以使用constructor

三、new运算符原理

image.png