2012-02-20 94 views

回答

7

沒有區別。當使用函數作爲構造函數時(即使用new運算符)並且沒有參數時,括號是可選的。當不使用new運算符時,在調用函數時總是需要括號。

正如在另一個答案中指出的那樣,通常最好使用對象文字。它擁有超過使用Object構造具有以下優點:

  • 允許性質的簡潔初始化(如var foo = { bar: "cheese" };
  • 較短
  • 可能更快
  • 中不受影響Object功能存在的(不可能)覆蓋。
+0

非常感謝。 – daljit 2012-02-20 11:37:56

+0

+1非常好的答案,不知道最後一件事(不會影響對象函數的(不太可能)事件被覆蓋。)。 – helpermethod 2012-02-20 12:08:01

1

簡單的答案 - 不要使用該語法。在JavaScript中創建對象的首選方法是使用以下語法:

var myObject = {}; // creates an empty object 
+1

這是一個很好的答案,但解釋爲什麼會使它很棒。 – Jonathan 2012-02-20 11:22:43

+3

這不是一個好的答案,因爲它沒有解決這個問題。它應該是一個評論。 – Quentin 2012-02-20 11:25:45

1

沒有區別。只是在這種特殊情況下,您可以省略()

所以 新的對象()

new Object 

是等價的。

順便說一句,在使用new Object()而不是{}也沒有區別。使用任何你喜歡的。

相關問題