Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Memanggil Fungsi JavaScript Menggunakan Namanya Disimpan sebagai Rentetan?

Bagaimanakah Saya Boleh Memanggil Fungsi JavaScript Menggunakan Namanya Disimpan sebagai Rentetan?

Mary-Kate Olsen
Lepaskan: 2024-12-26 04:03:09
asal
466 orang telah melayarinya

How Can I Call a JavaScript Function Using Its Name Stored as a String?

Memanggil Fungsi JavaScript mengikut Nama Disimpan dalam Rentetan

Dalam senario tertentu, anda mungkin menghadapi situasi di mana anda memiliki nama fungsi sebagai rentetan dan perlu melaksanakannya. Untuk mencapainya, ikuti langkah berikut:

Kaedah 1: Untuk Fungsi Rata

Untuk fungsi yang bukan sebahagian daripada ruang nama, gunakan sintaks berikut:

window["functionName"](arguments);
Salin selepas log masuk

Kaedah 2: Untuk Ruang Nama Fungsi

Untuk fungsi dalam ruang nama, sintaks berikut diperlukan:

var namespaces = functionName.split(".");
var func = namespaces.pop();
for (var i = 0; i < namespaces.length; i++) {
  context = context[namespaces[i]];
}
context[func].apply(context, args);
Salin selepas log masuk

Kaedah 3: Menggunakan Fungsi Kemudahan

Untuk memudahkan proses, anda boleh menggunakan kemudahan berikut fungsi:

function executeFunctionByName(functionName, context /*, args */) {
  var args = Array.prototype.slice.call(arguments, 2);
  var namespaces = functionName.split(".");
  var func = namespaces.pop();
  for(var i = 0; i < namespaces.length; i++) {
    context = context[namespaces[i]];
  }
  return context[func].apply(context, args);
}
Salin selepas log masuk

Memanggil Fungsi

Untuk memanggil fungsi menggunakan mana-mana kaedah, nyatakan nama fungsi dan konteks seperti yang ditunjukkan di bawah:

executeFunctionByName("My.Namespace.functionName", window, arguments);
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memanggil Fungsi JavaScript Menggunakan Namanya Disimpan sebagai Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan