js中var a=new Object()和var a={}有什么区别吗?

可以讲高深点噢,我就是想深入学习的。

应该是没有区别的,两者都是生成一个默认的Object对象。js和其它语言一样,一切对象的基类都是Object,所以,new Object()和简易的{}是同样的空对象,就是默认的对象。本来我以为{}应该是一个没有任何属性和方法的对象,但事实证明,var a = {},a.toString()等Object对象所具有的方法,a都具有。由此也可以判断,其实a = {}就是a = new Objcet()的简单实现。就像在java语言中,String str = ""和String str = new String()都是创建String的对象一样。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-02-27
初始化的过程上有区别,前者是用构造函数实例化对象,后者是直接创建JSON对象,后者的初始化比较方便,可以在初始化的时候同时赋值。
而两种方法创建的对象在使用上都是一样的,所以使用的时候都建议用后者,比较高效。本回答被提问者和网友采纳
第2个回答  2017-06-19
js里边一切对象都是从Object继承来的,当要构建1个空对象时,用new Object()也是常见的一种方法。js的api里只会跟你说Object的几个属性和方法,由于这是1个基类,也没啥意思。
第3个回答  2013-04-10
赋值过程是一样的 但是值的类型不一样
相似回答