Rumah > Artikel > hujung hadapan web > Bagaimana untuk Menilai Formula Rentetan dengan Selamat dalam JavaScript Tanpa `eval()`?
Mengira Nilai Rentetan dalam JavaScript tanpa eval()
Masalah:
Ramai pembangun JavaScript menggunakan eval () berfungsi untuk mengira formula yang disimpan dalam rentetan. Walau bagaimanapun, eval() adalah tidak selamat, kerana ia boleh melaksanakan kod sewenang-wenangnya. Adakah terdapat alternatif yang selamat?
Jawapan:
Ya, anda boleh menggunakan pembina Function() untuk menilai rentetan yang mengandungi formula dengan selamat.
Kod :
function evil(fn) { return new Function('return ' + fn)(); } console.log(evil('12/5*9+9.4*2')); // => 40.4
Penjelasan:
Pembina Function() mengambil rentetan sebagai hujah dan mengembalikan fungsi. Kata kunci 'kembali' ditambahkan pada permulaan rentetan untuk memastikan fungsi menilai kepada hasil formula.
Kelebihan:
Atas ialah kandungan terperinci Bagaimana untuk Menilai Formula Rentetan dengan Selamat dalam JavaScript Tanpa `eval()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!