考虑一下这个问题
function F(){}; //This is a Constructor function
谁能告诉我
之间有什么不同var myInstance = new F;
和
var myInstance = new F();
?无论如何,新的关键字execute会立即执行函数吗?
答案 0 :(得分:5)
答案 1 :(得分:0)
没有实际的区别,如果没有传递任何参数来简化语法,则可以省略paranthesis。
请注意,一些验证程序(如JSLint)会在您将其删除时报告警告,因为无论参数如何,始终使用相同的语法来调用构造函数,这些验证程序会更加一致。
如果你陷入这种懒惰的习惯,这个类似的例子会非常糟糕:
var one = myFunc;
var two = myFunc();
这是两个不同的变量,一个是函数引用,另一个是函数的返回值。