범위에 존재하지 않는 특정 단어를 포함하는 새로운 컨텍스트에서 함수를 평가하려고합니다. 내가 문자열로 함수의 정의가 있다면 그것은 충분히 쉽게,하지만 난과 같이, 함수의 일반 목록이 작업을 수행 할 수있는 기능을 제공하고 싶습니다 : 나중에 다음자바 스크립트에서 문자열로 주어진 함수의 정의를 얻는 방법이 있을까요? 수정 및 평가할 수 있습니까?
var funcs = {
first: function() { return 'yayaya'; },
second: function() { return 'okokok' + keyword; },
...
};
:
을function Thing() {};
for (func in funcs) {
var definition = funcs[func].definition();
var keyword = "NOW I AM THE KEYWORD";
var actual_func_with_keyword_defined = eval(definition);
Thing.prototype[func] = actual_func_with_keyword_defined;
}
내가 누락 된 것은 definition() 함수 또는 이와 동등한 함수의 소스를 반환하는 것입니다. 자바 스크립트에서 가능합니까?
원래 질문에 답한 경우 함수 정의가 생성됩니다. 고맙습니다! – prismofeverything
사이드 노트에서 정말로 eval을 사용해야한다고 확신합니까? 메서드 서명에 추가 매개 변수를 추가하거나 개체에 속성으로 키워드를 저장할 수있는 것처럼 들립니다. – RMorrisey
물론! 포인트를 얻으려면 옆에있는 체크 표시를 누를 수 있습니까? = D – RMorrisey