728x90
반응형
JavaScript에서 문자열로 함수를 호출하는 방법은 `eval()` 함수를 사용하는 것이 일반적입니다.
반응형
그러나 `eval()` 사용에는 주의가 필요하며, 보안상의 이슈가 발생할 수 있습니다. 가능한 경우 다른 방법을 고려하는 것이 좋습니다.
728x90
다음은 `eval()`을 사용하여 문자열로 함수를 호출하는 간단한 예제입니다:
function myFunction(parameter) {
console.log('Function called with parameter:', parameter);
}
// 함수 이름과 인자를 포함한 문자열
var functionString = 'myFunction("Hello, World!")';
// eval()을 사용하여 문자열로 함수 호출
eval(functionString);
위의 예제에서 `eval(functionString)`은 `myFunction("Hello, World!")`를 실행합니다. 하지만 `eval()` 사용은 보안에 취약하므로 사용 시 주의가 필요합니다.
더 안전한 대안 중 하나는 함수를 객체로 관리하고 해당 객체에서 속성으로 함수를 호출하는 것입니다.
var functionObject = {
myFunction: function(parameter) {
console.log('Function called with parameter:', parameter);
}
};
// 함수 이름과 인자를 포함한 문자열
var functionName = 'myFunction';
var parameter = 'Hello, World!';
// 문자열로 함수 호출
if (functionObject[functionName]) {
functionObject[functionName](parameter);
} else {
console.error('Function not found');
}
이러한 방식은 `eval()`을 사용하지 않고도 동적으로 함수를 호출할 수 있습니다.
<script type="text/javascript">
eval("name='kiyong';abc(name)");
function abc(name){
alert('name is ' + name);
}
</script>
728x90
반응형
'study > TIP' 카테고리의 다른 글
svn 정보 초기화 (0) | 2015.04.24 |
---|---|
curl 예 (0) | 2015.04.03 |
android 터치 영역/위치/타입 판단하기 (0) | 2014.03.04 |
pdo 에러관련 주의사항 (0) | 2012.04.13 |
print_r 깔끔하게 보기 (0) | 2012.04.12 |