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

JavaScript026

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

应该是没有区别的,两者都是生成一个默认的Object对象。js和其它语言一样,一切对象的基类都是Object,所以,new Object()和简易的{}是同样的空对象,就是默认的对象。本来我以为{}应该是一个没有任何属性和方法的对象,但事实证明,var a = {},a.toString()等Object对象所具有的方法,a都具有。由此也可以判断,其实a = {}就是a = new Objcet()的简单实现。就像在java语言中,String str = ""和String str = new String()都是创建String的对象一样。

这是实例化对象,固定的语句。Object不可以自定义。

var a = {}

a.xxx = 123

var a = {}这样写也是对象。

与new Object()是一样的。而且使用{}实例化的效率比new Object的要快。