'new Function ReferenceError'에 해당되는 글 1건

# new Function 함수 

 

 - 런타임상에 문자열을 사용해 함수를 만들 수 있다는 장점.

 - 함수의 인자값을 서버로 부터 받아서 동적으로 함수를 생성할 때, 유용하게 사용 가능.

 - 단, new Function의 생성은 오직 전역 변수에만 접근 가능 

 

 

# newFunction 함수 문법

var function = new Function([arg1, arg2 ... argN] , functionBody);

# new Function 예시 

   

- sum 함수

 var sum = new Function('a' , 'b' , 'return a + b;');     
 var sum = new Function('a , b' , 'return a + b;');
 sum(1,2); //3 

  - alert 띄우기

var alertFunc  = new Function( 'v', 'alert(v)'));

   - 화살표 함수 생성하기 

function arrowFuncMake(str) {
  var splitted = str.split("=>");
  console.log(splitted);
  return new Function(splitted[0], "return (" + splitted[1] + ");");
}

arrowFuncMake('n => n * 10')(10);
// 100
arrowFuncMake('n => n * 10')(20);
// 200
arrowFuncMake('n => n * 10')(30);
// 300
arrowFuncMake('a ,b => a + b')(10,20);
// 30

 

 


# new Fucntion은 전역 변수만 접근 가능

   var value = "1111";     
   function getFunc() {         
   		var value = "test";         
        var func = new Function('alert(value)');         
        return func;
   }
   getFunc()(); 
   // alert시 1111이 띄워짐

 

블로그 이미지

미나미나미

,