Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Melaksanakan Fungsi JavaScript Menggunakan Nama Rentetannya?
Melaksanakan Fungsi JavaScript dengan Perwakilan Rentetan
Pertanyaan: Anda mempunyai nama fungsi JavaScript yang disimpan sebagai rentetan dan berhasrat untuk memanggilnya kemudian . Bagaimanakah anda boleh menukar rentetan ini kepada penuding fungsi untuk menggunakan fungsi itu seterusnya?
Jawapan:
function executeFunctionByName(functionName, context /*, args */) { // Retrieve arguments var args = Array.prototype.slice.call(arguments, 2); // Split the namespace into parts var namespaces = functionName.split("."); // Get the function name var func = namespaces.pop(); // Iterate through namespaces and get the context for (var i = 0; i < namespaces.length; i++) { context = context[namespaces[i]]; } // Apply the function with the context and arguments return context[func].apply(context, args); }
executeFunctionByName("My.Namespace.functionName", window, arguments);
Penyelesaian ini membenarkan pelaksanaan fungsi dinamik berdasarkan perwakilan rentetan, walaupun untuk fungsi dalam ruang nama. Pertimbangkan penyelesaian komprehensif yang disediakan untuk mengendalikan senario ini dengan berkesan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Fungsi JavaScript Menggunakan Nama Rentetannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!