Rumah > Artikel > hujung hadapan web > Mengapa menambah kurungan pada eval dalam petua JS_javascript
pengenalan eval
---eval ialah kaedah prototaip objek global dalam definisi ECMA;
<!DOCTYPE html> <html> <head> <title>eval学习</title> <script type="text/javascript"> /* eval("表达式");执行表达式语句 eval("("+javascript类型+")");转为javascript对象 */ var jsonObj={"name":"ljl","data":123};//json,是javascript的对象 var jsonString='{"name":"ljl","data":123}';//javascript的string类型,字符串内容符合json格式的样式 var objType=eval("("+jsonString+")");//通过eval函数将json字符转为javascript对象 alert( typeof jsonString);//string alert( typeof objType);//obj alert(eval(123));//123 alert(typeof eval("("+123+")"));//number var x=2; var y=eval('x+1');//执行 2+1 表达式 alert('y= '+y);//3 </script> </head> <body> </body> </html>
Tambahan: Ringkasan
eval ialah salah satu ciri dinamik js Ia boleh melaksanakan secara langsung program js dan mengembalikan hasil Penggunaan biasa adalah untuk memulihkan data json kepada objek js
Walau bagaimanapun, kerana ia boleh menukar objek konteks secara dinamik semasa masa jalan, ia membawa risiko serangan suntikan;
Apabila menggunakannya, perhatikan cara eval memahami sintaks rentetan Masalah biasa ialah masalah 'braces'