2009-11-10 54 views
0

我不確定我是否使用了正確的術語,所以如果我不是,請糾正。在javascript中獲取變量/對象元素和值

我得持有這樣

 
var my_variables = { 
      first_var: 'starting', 
      second_var: 2, 
      third_var: 'continue', 
      forth_var: 'end' 
} 

現在,我想在我的腳本來獲得這些變量的一組值的JavaScript變量,但我不希望有檢查每一個。 現在我做這個

 
if(my_variables.first_var!=null){ 
    query=query+'&first_var='+my_variables.first_var; 
} 
if(my_variables.second_var!=null){ 
    query=query+'&second_var='+my_variables.second_var; 
}... 

我希望有一個簡單的方法來遞歸檢查對象去,但我一直沒能找到該怎麼做。 喜歡的東西

 
foreach(my_variables.??? as varName){ 
    query=query+'&'+varName+'='+my_variables.varName; 
} 

回答

2

試試這個:

for(var key in my_variables) 
    query += '&'+key+'='+encodeURIComponent(my_variables[key]); 
+0

哇!你必須有一個簡單的按鈕或其他東西!謝謝卡特。這工作完美,據我所知。 – pedalpete 2009-11-10 21:18:20

1

for (var varName in my_variables) { query=query+'&'+varName+'='+my_variables[varName]; }

爲(... ...中的)是怎麼寫這種在Javascript中循環。當字段名稱是一個值而不是實際標識符時,也可以使用方括號而不是句號,就像這裏一樣。順便說一下,如果你的值可能包含任意文本,我還建議使用window.encodeURIComponent。