2014-12-05 156 views
-1

什麼是JavaScript對象的推薦構造函數?Javascript對象的推薦構造函數是什麼?

構造1

var myObject = new Object(); 
myObject.name = "Jim" 
myObject.age = 24; 

構造2

var myObject = {} 
myObject.name = "Jim" 
myObject.age = 24 

構造3

var myObject = { 
name: 'Jim', 
age: 24 
} 
+2

我相信這個問題是基於意見的,沒有別的。 – silentw 2014-12-05 17:15:49

+0

但是,要初始化一個構造函數,我使用方法3.如果我想在路上改變某些東西,顯然我使用第二種方法。 – silentw 2014-12-05 17:17:01

+1

你錯過了 - 如果你正在構建可重用對象:'function myObject(name,age){this.name = name; this.age =年齡; } var obj = new myObject(「Jim」,24);'這是我在談論JavaScript構造函數時的想法 – 2014-12-05 17:18:38

回答

1

您應該使用構造2或3(任何你想要的),但從未使用構造1(是一種不好的做法):

在使用相應的構造函數的對象文字的優點是:

  • 短多可讀。
  • 更安全:當對象構造函數 已被覆蓋時,文字將仍然有效。
  • 可能更快,儘管這不太可能成爲主要考慮因素。

[更新]

嘗試總是使用構造3,因爲是更好的性能,但需要記住的是,你可以使用構造2的方法,如果您以後需要附加屬性的對象。

+1

問題與2號是你正在執行一堆任務。它不僅僅是兩個屬性,而且可能會對更大的對象產生巨大的影響。方法3是一個單一的操作。當我12歲時,我發現這很困難,並認爲通過執行data [123] .name.english =「Abc」在JavaScript中構建整個數據庫是一個好主意。數據[123] .name.french =「Merde」;'一遍又一遍XD – 2014-12-05 17:17:04

+0

@NiettheDarkAbsol您說得對,我試圖解釋的是,如果您需要將新屬性添加到對象中,有時可能會有用。感謝您的貢獻。 – ianaya89 2014-12-05 17:18:46

相關問題