Bagaimana untuk memanggil fungsi dari nama fungsi yang disimpan dalam rentetan menggunakan JavaScript?

王林
Lepaskan: 2023-08-27 09:09:11
ke hadapan
1049 orang telah melayarinya

如何使用 JavaScript 从存储在字符串中的函数名称调用函数?

Kami akan menggunakan fungsi eval() untuk memanggil fungsi daripada namanya yang disimpan dalam rentetan. Evaluate() Fungsi menilai rentetan ke dalam kod JavaScript. Ini membolehkan kami memanggil fungsi melalui Hantar rentetan yang mengandungi namanya sebagai hujah kepada fungsi eval().

Contoh

Berikut ialah contoh lengkap cara memanggil fungsi daripada nama fungsi yang disimpan dalam rentetan menggunakan JavaScript -

// Define the function that we want to call
function sayHello() {
   console.log("Hello, world!");
}

// Store the function name as a string
let functionName = "sayHello";

// Use the `eval()` function to convert the string to a function call
eval(functionName + "()");
Salin selepas log masuk
  • Dalam contoh di atas, kami mula-mula mentakrifkan fungsi mudah yang dipanggil sayHello(), yang hanya log "Hello, world!" Seterusnya, kami mentakrifkan pembolehubah yang dipanggil functionName yang menyimpan rentetan "sayHello", iaitu nama fungsi yang ingin kami panggil.

  • Akhir sekali, kami menggunakan fungsi eval() untuk menukar string functionName menjadi panggilan fungsi dengan menggabungkannya dengan kurungan () yang diperlukan untuk benar-benar memanggil fungsi tersebut.

  • Fungsi
  • eval() ialah ciri JavaScript yang berkuasa tetapi berpotensi berbahaya yang membolehkan anda menilai rentetan seperti kod JavaScript. Menggunakan eval() dalam kod pengeluaran biasanya tidak disyorkan kerana ia boleh digunakan untuk melaksanakan kod sewenang-wenangnya, yang boleh menjadi risiko keselamatan.

Kaedah Alternatif

Perlu dinyatakan bahawa terdapat cara yang lebih selamat untuk memanggil fungsi daripada namanya yang disimpan dalam rentetan tanpa menggunakan eval, seperti -

let functionName = "sayHello";
let functionObj = window[functionName];
functionObj();
Salin selepas log masuk

atau

let functionName = "sayHello";
let functionObj = window['sayHello'];
functionObj();
Salin selepas log masuk

Alternatif ini lebih selamat daripada menggunakan eval kerana ia tidak melaksanakan kod sewenang-wenangnya tetapi merujuk kepada fungsi secara terus mengikut nama.

Atas ialah kandungan terperinci Bagaimana untuk memanggil fungsi dari nama fungsi yang disimpan dalam rentetan menggunakan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!