文字列に格納された名前による JavaScript 関数の呼び出し
特定のシナリオでは、次のような関数名を所有する状況に遭遇することがあります。文字列なのでそれを実行する必要があります。これを実現するには、次の手順に従います。
方法 1: フラット関数の場合
名前空間の一部ではない関数の場合は、次の構文を使用します。
window["functionName"](arguments);
方法 2: 名前空間の場合関数
ネームスペース内の関数の場合、次の構文が必要です。
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);
方法 3: コンビニエンス関数を使用する
To手続きを簡略化することで、以下のような利便性をご利用いただけます。 function:
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); }
関数の呼び出し
いずれかのメソッドを使用して関数を呼び出すには、以下に示すように関数名とコンテキストを指定します。
executeFunctionByName("My.Namespace.functionName", window, arguments);
以上が文字列として保存された名前を使用して JavaScript 関数を呼び出すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。