js中new创建对象时带括号和不带括号有什么区别?

问题描述:

[b]如题,js使用构造函数实例化对象时,带括号和不带括号有什么区别?
[/b]

带括号:
[code="js"]
function foo(){
alert('called');
}
var bar = new foo();
[/code]

不带括号:
[code="js"]
function foo(){
alert('called');
}
var bar = new foo;
[/code]

测试一下, 好像没有区别, 也没报错? 但又感觉有点什么不一样 :oops:

没区别,这只是浏览器对代码解析的自动补全。