수색…


소개

JavaScript에서 eval 함수는 문자열을 JavaScript 코드처럼 평가합니다. 반환 값은 평가 된 문자열의 결과입니다. 예를 들어, eval('2 + 2')4 반환합니다.

eval 은 글로벌 범위에서 사용할 수 있습니다. 간접적으로 호출되지 않는 한 (예 : var geval = eval; geval(s); 평가의 어휘 범위는 로컬 범위입니다.

eval 사용하는 것은 권장하지 않습니다. 자세한 내용은주의 섹션을 참조하십시오.

통사론

  • eval (string);

매개 변수

매개 변수 세부
평가할 JavaScript.

비고

eval 의 사용은 강력하게 권장되지 않습니다. 많은 시나리오에서 보안 취약점이 있습니다.

eval ()은 위험한 함수로, 호출자의 권한으로 전달 된 코드를 실행합니다. 악의적 인 사용자의 영향을받을 수있는 문자열로 eval ()을 실행하면 웹 페이지 / 확장 프로그램의 권한으로 악의적 인 코드가 실행될 수 있습니다. 더 중요한 것은 제 3 자 코드가 eval ()이 호출 된 범위를 볼 수 있기 때문에 유사한 함수가 영향을받지 않는 방식으로 가능한 공격을 유발할 수 있다는 것입니다.

MDN JavaScript 참조

또한 :

소개

강력 (자세한 내용은 설명을 참조)가 제공하는 보안 취약점으로 인해 권장하지 않습니다하지만 당신은 항상, 자체 내부에서 자바 스크립트를 실행할 수 있습니다.

JavaScript 내부에서 JavaScript를 실행하려면 아래 함수를 사용하십시오.

eval("var a = 'Hello, World!'");

평가 및 수학

아래 코드와 비슷한 것을 사용하여 eval() 함수를 사용하여 변수를 설정할 수 있습니다.

var x = 10;
var y = 20;
var a = eval("x * y") + "<br>";
var b = eval("2 + 2") + "<br>";
var c = eval("x + 17") + "<br>";

var res = a + b + c;

변수 res 저장된 결과는 다음과 같습니다.

200
4
27

eval 사용하는 것은 권장하지 않습니다. 자세한 내용은주의 섹션을 참조하십시오.

JavaScript 문의 문자열 평가

var x = 5;
var str = "if (x == 5) {console.log('z is 42'); z = 42;} else z = 0; ";

console.log("z is ", eval(str));

eval 사용하는 것은 권장하지 않습니다. 자세한 내용은주의 섹션을 참조하십시오.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow