一、eval是基本使用規則
•1 eval() 函數可計算某個字符串,並執行其中的的 JavaScript 代碼。
•2 eval(string)
•3 string必需。要計算的字符串,其中含有要計算的 JavaScript 表達式或要執行的語句。
•4 eval()只有一個參數。
•5 eval使用比較不安全,忘慎重使用
二、eval的錯誤使用方法
•1 如果傳入的參數不是字符串,它直接返回這個函數。
•2 如果參數是字符串,它會把字符串當成JavaScript代碼進行編譯,如果編譯失敗者拋出一個語法錯誤異常。
•3 如果編譯成功,則開始執行這一段代碼,並返回字符串中的最後一個表達式或語句的值,
•4 如果最後一個表達式或語句沒有值,則最終返回undefined。
三、使用例子
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>eval</title> </head> <body> <script type="text/javascript"> //正確輸入 var x = 10; document.write(eval(10*x + 10)) //表達式 輸出110 document.write("<br />"); document.write(eval("10 == x")); //表達式 輸出true document.write("<br />"); eval(document.write(2+5*x)); //執行語句 輸出52 //非正常輸入 try{ var y = 8; //表達式 document.write(eval("9+6*x"+"100")); //如果參數中沒有合法的表達式和語句,則拋出 SyntaxError 異常。 document.write("<br />"); eval('++++2'); //編譯失敗ReferenceError異常 eval(document.write(2+2)); //編譯成功 document.write(eval()); //返回undefined var my = eval(); //如果試圖覆蓋 eval 屬性或把 eval() 方法賦予另一個屬性, document.write(my(1+2)); //並通過該屬性調用它,則 ECMAScript 實現允許拋出一個 EvalError 異常。 } catch(exception) { alert(exception); } </script> </body> </html>
我自己查了好多資料,也還很模糊,希望了解的大神能指點指點!
以上這篇對js eval()函數的一些見解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。