2

想想silution新F和新F()之间有什么不同?

function F(){}; //This is a Constructor function 

谁能告诉我有

var myInstance = new F; 

var myInstance = new F(); 

之间有什么不同?无论如何,无论如何,新的关键字执行遵循函数,无论是由partheses?

+0

http://stackoverflow.com/questions/3034941/new-myobject-vs-new-myobject – David 2012-03-29 10:16:45

回答

5

没有区别。从Mozilla Docs

new constructor[([arguments])] 

括号是在方括号,这意味着它们是可选的。

0

没有实际的区别,如果不传递任何参数来简化语法,可以省略假设。

请注意,如果您将它们排除在外,某些验证程序(如JSLint)会报告警告,因为无论参数如何,始终使用相同的语法调用构造函数的方式被认为更一致。

var one = myFunc; 
var two = myFunc(); 

这是两个不同的变量,一个是函数引用,另一个是函数的返回值:

,如果你进入这个懒惰的习惯,这样类似的例子将是非常糟糕的。