2013-02-25 32 views
0

我正在創建用Ajax發送到服務器的數據對象。我發現自己重複這些線路將屬性添加到數據對象:通過條件在Javascript中添加和設置屬性的優雅方式

var param1, param2; 
if (param1 = $("field1").val()) 
    data.param1 = param1; 

if (param2 = $("field2").val()) 
    data.param2 = param2; 

etc. 

我如果有任何更優雅的方式來填補數據對象在我而言只是好奇?謝謝。

回答

1

你可以定義一個setter函數:

data.set = function(key, value, fieldName){ 
    if(value = $(fieldName).val()){  
     this[key] = this[value] 
    } 
} 

,那麼你只需調用在data.set( '參數1',參數1,「字段1);

這本身並不是一個修復,但只是把它

+1

由於短的方式,我只是想看到 - 我不是在比較「如果」。我設置參數的值,如果這個值不是undefined/empty,它會返回true。 – 2013-02-25 12:03:48

+0

哦,對不起,我以爲你只是輸入錯誤 – 2013-02-25 12:13:56

相關問題