Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menilai Formula Rentetan dalam JavaScript Tanpa Menggunakan eval()?
Menilai rentetan yang mengandungi formula ialah tugas biasa dalam pengaturcaraan. Walaupun JavaScript menawarkan fungsi eval() untuk tujuan tersebut, ia memberikan risiko keselamatan dan secara amnya tidak digalakkan. Berikut ialah pendekatan alternatif untuk mengira nilai rentetan tanpa menggunakan eval().
Pembina Function() boleh mencipta fungsi tanpa nama daripada rentetan. Ini boleh digunakan untuk menilai ungkapan rentetan. Sebagai contoh, pertimbangkan kod berikut:
function evil(fn) { return new Function('return ' + fn)(); } console.log(evil('12/5*9+9.4*2')); // => 40.4
Dengan mengembalikan fungsi baharu yang dinilai oleh pembina Function(), kita boleh melaksanakan operasi matematik yang disimpan dalam rentetan. Dalam contoh ini, rentetan "12/5*9 9.4*2" dinilai kepada 40.4.
Berbanding dengan eval(), pembina Function() membenarkan untuk :
Semasa Function() constructor menawarkan alternatif yang lebih selamat dan boleh dipercayai kepada eval(), adalah penting untuk ambil perhatian bahawa ia masih menilai kod secara dinamik, jadi langkah berjaga-jaga harus diambil untuk mengelakkan input berniat jahat.
Atas ialah kandungan terperinci Bagaimana untuk Menilai Formula Rentetan dalam JavaScript Tanpa Menggunakan eval()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!