本文實例講述了JS使用eval()動態創建變量的方法。分享給大家供大家參考,具體如下:
一、什么是eval()函數?
eval_r()函數可計算某個字符串,并執行其中的的 JavaScript 代碼。
二、如何動態定義變量?
既然eval()能夠計算字符串,何不將定義變量的寫法轉換為字符串,然后放入eval_r()函數內進行執行,形如:
var defineStr = "var number_"+i.toString();eval_r(defineStr);
這樣就定義了一個變量,你可以設置debugger 跟蹤調試一下看看number變量是否定義成功。
倘若i值為1,那么動態的變量就為number_1
后續一樣可以通過這種形式為其賦值:
eval_r("number_"+i.toString()+" = 120;"); 這樣就為其變量number_1賦值為120了。
但是這里絕對不能夠這樣去寫:
eval_r("number_"+i.toString()) = 120 這樣寫是存在于法錯誤的。
以上這種寫法在IE內卻有些行不通,得需要使用executeScript(string)來執行,判斷如下:
if(window.executeScript){//IE瀏覽器window.executeScript(defineStr);}else{//Chrome、Firefox等非IE瀏覽器window.eval_r(defineStr);} 


















