Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menilai Rentetan dengan Selamat dalam JavaScript: Alternatif kepada `eval()`?

Bagaimana untuk Menilai Rentetan dengan Selamat dalam JavaScript: Alternatif kepada `eval()`?

Susan Sarandon
Susan Sarandonasal
2024-11-26 06:32:12803semak imbas

How to Safely Evaluate Strings in JavaScript: Alternatives to `eval()`?

Penilaian Rentetan Selamat dalam JavaScript: Alternatif kepada eval()

Fungsi eval(), walaupun mudah, mendedahkan potensi risiko keselamatan dalam JavaScript . Apabila berurusan dengan rentetan tidak dipercayai yang mengandungi kod boleh laku, adalah penting untuk mencari alternatif yang lebih selamat.

Satu pilihan yang berdaya maju ialah menggunakan pembina Function(). Pembina ini membolehkan kami mencipta fungsi dinamik daripada rentetan yang diberikan:

function evil(fn) {
  return new Function('return ' + fn)();
}

Menggunakan fungsi ini, kami boleh menilai ungkapan rentetan matematik tanpa risiko yang dikaitkan dengan eval(). Berikut ialah contoh:

const apa = "12/5*9+9.4*2";
console.log(evil(apa)); // Output: 40.4

Kaedah ini menyediakan cara selamat untuk mengira nilai rentetan tanpa menggunakan eval(). Ia menawarkan peningkatan perlindungan terhadap suntikan kod berniat jahat, menjadikannya pilihan yang lebih selamat untuk mengendalikan input yang tidak dipercayai.

Atas ialah kandungan terperinci Bagaimana untuk Menilai Rentetan dengan Selamat dalam JavaScript: Alternatif kepada `eval()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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