수색…
소개
JavaScript에서 eval
함수는 문자열을 JavaScript 코드처럼 평가합니다. 반환 값은 평가 된 문자열의 결과입니다. 예를 들어, eval('2 + 2')
는 4
반환합니다.
eval
은 글로벌 범위에서 사용할 수 있습니다. 간접적으로 호출되지 않는 한 (예 : var geval = eval; geval(s);
평가의 어휘 범위는 로컬 범위입니다.
eval
사용하는 것은 권장하지 않습니다. 자세한 내용은주의 섹션을 참조하십시오.
통사론
- eval (string);
매개 변수
매개 변수 | 세부 |
---|---|
끈 | 평가할 JavaScript. |
비고
eval
의 사용은 강력하게 권장되지 않습니다. 많은 시나리오에서 보안 취약점이 있습니다.
eval ()은 위험한 함수로, 호출자의 권한으로 전달 된 코드를 실행합니다. 악의적 인 사용자의 영향을받을 수있는 문자열로 eval ()을 실행하면 웹 페이지 / 확장 프로그램의 권한으로 악의적 인 코드가 실행될 수 있습니다. 더 중요한 것은 제 3 자 코드가 eval ()이 호출 된 범위를 볼 수 있기 때문에 유사한 함수가 영향을받지 않는 방식으로 가능한 공격을 유발할 수 있다는 것입니다.
또한 :
소개
이 강력 (자세한 내용은 설명을 참조)가 제공하는 보안 취약점으로 인해 권장하지 않습니다하지만 당신은 항상, 자체 내부에서 자바 스크립트를 실행할 수 있습니다.
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
사용하는 것은 권장하지 않습니다. 자세한 내용은주의 섹션을 참조하십시오.