为什么说对象字面量赋值比new Object()高效?
2016-08-26 21:05
162 查看
虽然平时都是以对象字面量来初始化js变量的,即
就直接在chrome上做了个对比试验,结果如下:
![](https://images2015.cnblogs.com/blog/439227/201608/439227-20160826210210413-1081433382.png)
网上别人的解释,个人觉得能理解的:
{}是字面量,可以立即求值,而new Object()本质上是方法(只不过这个方法是内置的)调用,既然是方法调用,就涉及到在proto链中遍历该方法,当找到该方法后,又会生产方法调用必须的堆栈信息,方法调用结束后,还要释放该堆栈
var obj={};也没有去具体去纠结为什么这样就比
var obj=new Object();来的好
就直接在chrome上做了个对比试验,结果如下:
![](https://images2015.cnblogs.com/blog/439227/201608/439227-20160826210210413-1081433382.png)
网上别人的解释,个人觉得能理解的:
{}是字面量,可以立即求值,而new Object()本质上是方法(只不过这个方法是内置的)调用,既然是方法调用,就涉及到在proto链中遍历该方法,当找到该方法后,又会生产方法调用必须的堆栈信息,方法调用结束后,还要释放该堆栈
相关文章推荐
- 将对象传入方法内然后赋值成null,为什么执行完方法之后,值不是null?
- javascript原型对象用字面量赋值
- C++中构造函数初始化列表为什么会比构造函数中赋值要高效
- 如何禁止对象的拷贝和赋值操作
- 我们为什么在重复之业务对象和关系实体
- 使用IShellFolder::EnumObjects()不能正确枚举虚目录“我的电脑”下的对象,为什么?
- Process对象为什么要在使用完之后Close()。
- 为什么一个对象调用的类方法可以访问该类其他对象的私有成员
- 为什么编程会那么麻烦?.net中数据库的操作是否有高效编程的方式?
- 浅谈将子类对象赋值给父类对象
- 给const对象赋值
- java里面给对象赋值,慎用赋值符号(=)
- 今天碰到的一个问题,关于通过基类对象的引用给子类赋值
- 给对象赋值的另类方法
- C++对象的构造、赋值和析构
- C++对象的拷贝与赋值操作
- 编码心得:为什么我的单件(Singleton)对象会有两个地址呢?
- 常见代码的编写规范(三)---对象的赋值与保存
- 为什么运行时总是提示“Microsoft JET database Engine (0X80040E09)”不能更新,数据库或对象为只读?在线等...
- 为什么(Int32)cmd.ExecuteScalar()赋值给Int32变量时提示转换无效?