{} 这个叫做对象字面量,new Object()中没有传入参数,与{}是一样的
概述
var a = {};
var b = new Object();
这两种创建对象方式,从测试效果来看,{}会快一点。
{} 这个叫做对象字面量
如果new Object()中没有传入参数,与{}是一样的。
但是如果传入不同的参数,会有不同的效果。
传入String 返回String,类似new String()
传入Number 返回Number,类似new Number()
传入Object 返回Object,其实没啥用
var Obj = function() {};
var a = {};
var b = new Object();
var c = new Obj();
c最快,a次之,b最慢
一般来说,{}是字面量,可以立即求值,而new Object()本质上是方法(只不过这个方法是内置的)调用,既然是方法调用,就涉及到在proto链中遍历该方法,当找到该方法后,又会生产方法调用必须的堆栈信息,方法调用结束后,还要释放该堆栈