Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menilai Ungkapan Matematik dengan Selamat dalam JavaScript Tanpa Menggunakan `eval()`?
Menilai Ungkapan Matematik dalam JavaScript Tanpa Menggunakan Eval()
Menilai ungkapan matematik tanpa menggunakan fungsi eval() yang berpotensi berbahaya adalah perkara biasa tugas dalam pengaturcaraan JavaScript. Untuk menangani perkara ini, mari kita terokai beberapa penyelesaian alternatif.
JavaScript Expression Evaluator
Pustaka Penilai Ungkapan JavaScript menyediakan cara yang mudah untuk menghuraikan dan menilai ungkapan matematik. Ia membolehkan anda menentukan rentetan ungkapan dan menggunakan pembolehubah untuk menyesuaikan penilaian. Sebagai contoh, kod berikut menilai ungkapan "2 ^ x" dengan x sama dengan 3:
const result = Parser.evaluate("2 ^ x", { x: 3 });
Math.js
Math.js ialah satu lagi popular Pustaka JavaScript untuk operasi matematik. Ia termasuk penghurai ungkapan yang berkuasa yang menyokong pelbagai fungsi matematik. Seperti Penilai Ungkapan JavaScript, ia membolehkan anda melepasi pembolehubah dan menilai ungkapan secara dinamik:
const result = math.eval('sin(45 deg) ^ 2');
Syor Pengguna
Pengguna lain telah mencadangkan respons pada Stack Overflow yang menggunakan fungsi evalx() untuk menilai ungkapan matematik dengan selamat. Berikut ialah coretan daripada jawapan itu:
function evalx(expr, scope) { return Function(`'use strict'; return (${expr})`)()(...scope); }
Dengan memanggil fungsi evalx(), anda boleh menilai ungkapan tanpa risiko keselamatan yang dikaitkan dengan eval().
Atas ialah kandungan terperinci Bagaimana untuk Menilai Ungkapan Matematik dengan Selamat dalam JavaScript Tanpa Menggunakan `eval()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!