網頁

2014年2月19日 星期三

js小抄_動態的變數名稱[使用eval()方法]

有時候會有一個需求,想在某種情況代入變數Value_A,某些時候代入變數Value_B,那可能會寫:
var output = ''; if (status=='A'){ output = Value_A } if else(status=='B'){ output = Value_B } alert(output);
但若是情況有100種,豈不是要寫100個判斷式處理;這時,可以使用eval()方法來處理:
var output = eval('Value_' + status); alert(output);
上述方式,將可在status為A時,取到Value_A的值,status為GG時,取到Value_GG的值,大大使程式碼更加靈活。

eval()也就是將函式內的內容組合完成後,以JavaScript執行,所以能夠產生許多巧妙的變化,常被舉的例子是:
var n=2; var b=3,c=4; eval('a'+n+'=b*c');
上式會得出a2變數為12。

沒有留言:

張貼留言