Mengapa menambah kurungan pada eval dalam petua JS_javascript

WBOY
Lepaskan: 2016-05-16 15:05:40
asal
1654 orang telah melayarinya

pengenalan eval

---eval ialah kaedah prototaip objek global dalam definisi ECMA;

---Parameter yang diterima oleh eval ialah kod js dalam format rentetan Rentetan ini akan dilaksanakan oleh enjin pelaksanaan (ingat di mana saya berkata 'Pengaturcaraan Lanjutan', buat enjin pelaksanaan baharu pada masa ini), dan kemudian kembali. hasilnya ke Lokasi di mana eval dipanggil.

<!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>
Salin selepas log masuk

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'

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan