Mengapakah eval dalam JS perlu menambah kurungan semasa memproses kemahiran JSON data_javascript

WBOY
Lepaskan: 2016-05-16 16:04:29
asal
1095 orang telah melayarinya

Disebabkan kebangkitan Ajax, JSON, format data ringan, secara beransur-ansur menjadi popular sebagai format penghantaran antara klien dan pelayan Persoalan yang timbul ialah bagaimana untuk menukar data JSON yang dibina pada bahagian pelayan kepada bentuk yang boleh digunakan objek JavaScript. Menggunakan fungsi eval sudah pasti kaedah yang mudah dan langsung. Apabila menukar, anda perlu membalut rentetan JSON dengan lapisan kurungan:

Salin kod Kod adalah seperti berikut:

var jsonObject = eval("(" jsonFormat ")");

Kenapa tambah kurungan?

Tujuan menambah kurungan adalah untuk memaksa fungsi eval menukar ungkapan dalam kurungan kepada objek dan bukannya melaksanakannya sebagai pernyataan semasa memproses kod JavaScript. Sebagai contoh, ambil objek secara literal {}. Jika tiada kurungan luar ditambahkan, maka eval akan mengenali pendakap sebagai tanda permulaan dan penamat bagi blok kod JavaScript dan {} akan dianggap untuk melaksanakan pernyataan kosong. Jadi dua keputusan pelaksanaan berikut adalah berbeza:

Salin kod Kod adalah seperti berikut:

alert(eval("{}"); // return undefined
alert(eval("({})");// return object[Object]

Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya.

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