javascript中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的对象一样。