创建对象有几种方法?
- 第一种方式:字面量
var Obj1 = { name : 'Obj1' };var Obj2 = new Object ({ name : 'Obj2' });复制代码
- 第二种方式:通过构造函数
var M = function (name) { this.name = name;};var Obj3 = new M('Obj3');复制代码
- 第三种方式:Object.create
var P = { name:'Obj4' };var Obj4 = Object.create(P);复制代码
原型链类:
- 原型、构造函数、实例、原型链
- instanceof
- new运算符
- 一个新对象被创建。它继承自foo.prototype
- 构造函数foo被执行。执行的时候,相应的传参会被传入,同时上下文(this)会被指定为这个新实例。new foo等同于 new foo(),只能用在不传递任何参数的情况。
- 如果构造函数返回了一个“对象”,那么这个对象会取代整个new出来的结果。如果构造函数没有返回对象,那么new出来的结果为步骤1创建对象。