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);
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);
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); }
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);
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!