본문 바로가기
study/TIP

자바스크립트 문자열로 함수 호출

by 휘루걸음 2014. 7. 23.
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