문자열 표현으로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!