文字列表現を使用した JavaScript 関数の実行
クエリ: JavaScript 関数の名前が文字列として保存されており、後でそれを呼び出す予定です。 。この文字列を関数ポインタに変換して、その後関数を呼び出すにはどうすればよいでしょうか?
回答:
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);
このソリューションにより、名前空間内の関数であっても、文字列表現に基づいて関数を動的に実行できます。このシナリオを効果的に処理するために提供される包括的なソリューションを検討してください。
以上が文字列名を使用して JavaScript 関数を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。