Pertama mari kita lihat fungsi JS
Fungsi JavaScript eval()
Definisi dan penggunaan
Fungsi eval() mengevaluasi string dan mengeksekusi kode JavaScript di dalamnya.
tata bahasa
evaluasi(string)
Deskripsi parameter
string diperlukan. String untuk dievaluasi yang berisi ekspresi JavaScript untuk dievaluasi atau pernyataan untuk dieksekusi.
nilai kembalian
Nilai yang diperoleh dengan mengevaluasi string (jika ada).
menjelaskan
Metode ini hanya menerima string mentah sebagai parameter. Jika parameter string bukan string mentah, metode akan kembali tanpa perubahan. Oleh karena itu mohon jangan meneruskan objek String sebagai parameter ke fungsi eval().
Implementasi ECMAScript memungkinkan pengecualian EvalError dilempar jika ada upaya untuk mengganti properti eval atau menetapkan metode eval() ke properti lain dan memanggilnya melalui properti itu.
Melemparkan
Jika tidak ada ekspresi atau pernyataan hukum dalam parameter, pengecualian SyntaxError akan dilempar.
Jika eval() dipanggil secara ilegal, pengecualian EvalError akan muncul.
Jika kode Javascript yang diteruskan ke eval() menghasilkan pengecualian, eval() akan meneruskan pengecualian tersebut ke pemanggil.
Tip dan Catatan
Tip: Meskipun eval() sangat kuat, namun jarang digunakan dalam penggunaan sebenarnya.
Contoh
Contoh 1
Dalam contoh ini, kita akan menerapkan eval() ke beberapa string dan melihat hasil yang dikembalikan:
Copy kode kodenya sebagai berikut:
<skrip tipe="teks/javascript">
eval("x=10;y=20;dokumen.tulis(x*y)")
dokumen.tulis(eval("2+2"))
varx=10
dokumen.tulis(eval(x+17))
</skrip>
Keluaran:
200
4
27
Contoh 2
Lihatlah apa yang eval() kembalikan dalam kasus lain:
Copy kode kodenya sebagai berikut:
eval("2+3") // mengembalikan 5
var myeval = eval; // Pengecualian EvalError mungkin muncul
myeval("2+3"); // Pengecualian EvalError mungkin dilempar
Anda dapat menggunakan kode berikut untuk memeriksa apakah parameter eval() sah:
Copy kode kodenya sebagai berikut:
mencoba {
alert("Hasil:" + eval(prompt("Masukkan ekspresi:","")));
}
tangkapan(pengecualian) {
peringatan (pengecualian);
}
Metode pertama adalah menggunakan eval di js
Berikut ini adalah contoh yang saya tulis sendiri
Copy kode kodenya sebagai berikut:
panggilan("tunjukkan pesan");
panggilan fungsi(Namafungsi){
eval("ini."+Namafungsi+"()");
}
fungsi showmsg(){
peringatan("sukses");
}
eval dapat secara otomatis mengenali string yang Anda sambungkan sebagai metode dan memanggilnya.
Namun kerugiannya juga besar. Bayangkan seseorang dapat memanggil salah satu metode Anda dengan mengubah nama metode yang Anda panggil.
Metode kedua terutama digunakan sebagai metode yang ditentukan sendiri
Terutama karena metode kedua memerlukan cara penulisan yang khusus
Copy kode kodenya sebagai berikut:
panggilan fungsi(Namafungsi) {
showmsgs["showmsg"]();
}
var showmsgs = { showmsg: fungsi () {
peringatan("sukses");
}
}
panggilan("tunjukkan pesan");