虽然平时都是以对象字面量来初始化js变量的,即 var obj={}; 也没有去具体去纠结为什么这样就比 var obj=new Object(); 来的好 就直接在chrome上做了个对比试验,结果如下:
var obj={};
var obj=new Object();
网上别人的解释,个人觉得能理解的:
{}是字面量,可以立即求值,而new Object()本质上是方法(只不过这个方法是内置的)调用,既然是方法调用,就涉及到在proto链中遍历该方法,当找到该方法后,又会生产方法调用必须的堆栈信息,方法调用结束后,还要释放该堆栈