我想顯示一個項目列表,現在有時這些項目的標題只是一個純字符串,有時它可能是一個函數返回的值。Javascript Eval爲函數和純字符串工作
如何使用eval()使兩個事件都可以工作?
下面是一個例子代碼:
var a1 = "formatDate('" + startTime + "') + ' - ' + formatDate('" + endTime + "')"
var a2 = "#america"
var result1 = eval(a1) // works well!
var result2 = eval(a2) // doesn't work, need to use eval('a2') but then first one doesn't work
我能想到的唯一的事情就是創建如「#america」有它保存的,如「‘#america’」不是字符串的時候,但我寧願避免
[編輯]
最終我將有這樣的事情:
arr.push("formatDate('" + startTime + "') + ' - ' + formatDate('" + endTime + "')");
arr.push("#america");
for(var i = 0; i < arr.length; i++) {
var ev = eval(arr[i]);
console.log(ev);
}
爲什麼'eval',可以直接調用該函數 – Tushar
' 「#america''應該是'」 #america「'; – AdityaParab
另一件事,如果你的'a2's會是一個字符串,爲什麼你需要'eval()'嗎? – AdityaParab