如何在下面的代碼刪除EVAL:如何刪除eval()?
var c = 4; // c can change
parseFloat(eval('document.formName.fieldName1' + (c + 1) + '.value * document.formName.fieldName2[' + c + '].value'));
我已經試過對象,數組,全局窗口變量,當與document.formName
選擇合併沒有什麼作品。
更新:標記爲重複的答案不適用於我的問題,因爲我的代碼基於document.form.field.value
選擇器讀取表單值。該解決方案無效。我也嘗試過對象,數組等等。
你可以寫什麼寫在那裏JS,而不是作爲一個字符串。 你有什麼是一個正在與變量總結的字符串,所以如果你想要該字符串執行你需要eval。但是你真的不需要把它當作一個字符串。 – Dellirium
謝謝,這是一箇舊代碼,我已經嘗試了所有可用的解決方案。現在按照下面的答案開始工作。 – Ciprian
@Ciprian:標記的副本是正確的。它解釋了使用動態名稱訪問對象屬性的概念。 – Cerbrus