簡單的說,可以把字串轉換成運算式並返回執行結果
eval 方法
請參閱
String 對象
應用於: Global 對象
要求
版本 1
檢查 JScript 代碼並執行.
eval(codeString)
必選項 codestring 參數是包含有效 JScript 代碼的字串值。這個字串將由 JScript 分析器進行分析和執行。
說明
eval 函數允許 JScript 原始碼的動態執行。例如,下面的代碼建立了一個包含 Date 對象的新變數 mydate :
eval("var mydate = new Date();");
傳遞給 eval 方法的代碼執行時的上下文和調用 eval 方法的一樣.
<script language="JavaScript"> <!-- var test = 'alert ("HI!")'; eval(test) //--> </script>
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]
看看這個案例:
<div >隱藏下面的文本</div> <div id="aa1">文本一</div> <div id="aa2">文本二</div> <div id="aa3">文本三</div> <div id="aa4">文本四</div> 把注釋去掉運行看看就明白了 <script language="javascript"> function hidediv(str){ for(i=1;i<=4;i++){ //(str+i).style.display="none";//錯誤寫法,無法隱藏層 //eval(str+i).style.display="none";//寫法一 返回運算式 str+i 給javascript的值 alert(str+i+".style.display='none'");//彈出字元竄資訊 eval(str+i+".style.display='none'"); //或這樣寫 通過eval 直接執行字串(字串必須是符合javascript文法),隱藏了文字 //這個字串將由 JScript 分析器進行分析和執行。 //eval()函數執行"str+i"這個字串所代表的運算式,前提是這個字串必須是javascript可理解的運算式,eval()函數會執行並返回這個字串運算式的值 //aa1, aa2, aa3, aa4 //單獨的str+i //document.getElementById(str+i).style.display="none"; //相當與使用這個方法 } } </script>
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]