개발 등/AJAX

Javascript의 eval() 함수

darkhorizon 2009. 3. 4. 21:31
728x90
반응형
예제)
fun
ction viewInfo(req){;
    if(req.readystate==4){
        var result =
eval("("+req.responseText+")")
    }
}

eval() 함수는 문자열인 인자값이 자바스크립트 문법에 일치하는 지 검증한 후 자바스크립트코드로 변환해 주는 함수입니다.
위의 예제에서 req.responseText의 내용은 JSON 표기법으로 명시된 단순한 텍스트일 뿐입니다.
따라서 텍스트를 자바스크립트 문법으로 변환시켜 값을 읽어오기 위해서 eval()함수를 사용합니다.

("")로 인자를 다시 감싼 이유는 eval()가 JSON표기법으로 명시된 텍스트를 파싱할 때
':'까지를 label로 인식하여  label:statement 로 해석하기 때문에 괄호로 감싸지 않으면 invalid label error가 발생한다고 합니다.

 

 

728x90