2010-11-24 80 views
1

我用來分別存儲變量,例如,如果我有一箇舊元素,我將它保存在一個名爲「ele_old」的變量中,然後如果我有一個新元素,我將它保存在名爲「ele_new」 。然而,它只是發生,我認爲我可以保存2個變量在1個數組變量,所以我可以做這樣的事情:javascript:變量數組或變量?

eles_arr['old'] = //old element; 
eles_arr['new'] = //new element; 

這種方式可以讓我把相同類型的變量在同一陣列爲了更好的組織,例如元素一起放在1個數組中,然後在另一個數組中一起ids。

問題是我對JavaScript(和任何其他編程語言,對於這個問題)是相當新的,所以我想知道這是否是一種低劣的方法,而不是將每個變量分開。這樣做會導致任何問題嗎?例如,運行時性能差?

謝謝!

+0

這兩個JavaScript語句之間的HTML標記是什麼? – 2010-11-24 13:10:51

+0

@Sime:我覺得BigName不知道如何格式化代碼塊。我爲他編輯過。 – RoToRa 2010-11-24 13:12:51

回答

1

你在做什麼是在eles_arr對象上設置屬性。這是類似於說:

eles_arr.oldEl = //old element 
eles_arr.newEl = //new element 

它不是將它們存儲在一個數組,所以它與具有分離變量 - 他們只是在eles_arr對象分組。把它們放在一個數組中,你會這樣做:

eles_arr.push(oldEl); 
eles_arr.push(newEl); 

這就是說我不會把這兩個變量放在一個數組中。我會讓他們分開以提高可讀性。您可能有意義在同一個數組中存在這些值,並且您可能會記住它們的位置。其他開發商可能不會,這可能會導致未來的問題。

最後,對'舊'和'新'兩個值的數組不會影響你的情況下的性能,但我仍然不會推薦使用數組來提高可讀性。

更新

我改變了變數,從「老」「新」「oldEl」「墩」反思保留關鍵字森的評論「新」 。

0

您可以使用一個對象來創建一個命名空間/模塊,從而降低全局/局部變量的數目:

var eles = {}; 

eles.foo = document.getElementById("foo"); 
eles.bar = document.getElementById("bar"); 

不過那可能纔有意義,如果你有一個像20組或更多的元素和你需要他們在各種事件處理程序/功能。在這種情況下,創建eles命名空間並使用所有元素引用填充它是有意義的。