을 단순화하기 위해, 나는 동적으로 이름으로 함수를 호출하는 스크립트를 포함 한 자바 스크립트 함수의 몸체를 구현 :동적으로 명명하고
var foo = "hello";
var bar = "world";
var function_name = "say_" + foo + bar;
// Since its name is being dynamically generated, always ensure your function actually exists
if (typeof(window[function_name]) === "function")
{
window[function_name](" World!");
}
else
{
throw("Error. Function " + function_name + " does not exist.");
}
function say_helloworld(the_word)
{
alert("Hello " + the_word);
}
그러나 기능 say_helloworld
의 코드가 작성되어 정적 패션. 나는 다음과 같은 것을 원한다 :
var function_implementation = 'function say_'+foo+bar+
'(the_world){alert("Hello " + the_world);}';
eval(function_implementation);
eval()을 사용하지 않고. 더 이상한 접근법이 있습니다 : AJAX 호출을 통해 함수를 얻습니다.
더 나은 접근 방법을 찾을 수 있습니까?
window['say_'+foo+bar]= function(the_world) {
alert('Hello '+the_world);
};
그러나, 동적라는 이름의 변수를 사용하는 좋은 이유가 거의 결코 :
우수 답변, 감사합니다! –