> 웹 프론트엔드 > JS 튜토리얼 > JSON data_javascript 기술을 처리할 때 JS의 eval에 대괄호를 추가해야 하는 이유는 무엇입니까?

JSON data_javascript 기술을 처리할 때 JS의 eval에 대괄호를 추가해야 하는 이유는 무엇입니까?

WBOY
풀어 주다: 2016-05-16 16:04:29
원래의
1129명이 탐색했습니다.

Ajax의 등장으로 경량 데이터 형식인 JSON이 클라이언트와 서버 간의 전송 형식으로 점차 대중화되고 있습니다. 이제 서버측에 구축된 JSON 데이터를 어떻게 사용 가능한 형태로 변환할 것인가 하는 문제가 제기됩니다. . 자바스크립트 객체. eval 함수를 사용하는 것은 의심할 여지 없이 간단하고 직접적인 방법입니다. 변환할 때 JSON 문자열을 괄호 레이어로 묶어야 합니다.

코드 복사 코드는 다음과 같습니다.

var jsonObject = eval("(" jsonFormat ")");

괄호를 추가하는 이유는 무엇인가요?

괄호를 추가하는 목적은 JavaScript 코드 처리 시 괄호 안의 표현식을 명령문으로 실행하는 대신 eval 함수가 객체로 변환하도록 강제하기 위한 것입니다. 예를 들어 객체 리터럴 {}을 사용하면 외부 대괄호가 추가되지 않으면 eval은 중괄호를 JavaScript 코드 블록의 시작 및 끝 표시로 인식하고 {}는 빈 문을 실행하는 것으로 간주됩니다. 따라서 다음 두 가지 실행 결과는 다릅니다.

코드 복사 코드는 다음과 같습니다.

Alert(eval("{}"); // 정의되지 않음 반환
Alert(eval("({})");// 객체 반환[객체]

위 내용은 이 글의 전체 내용입니다. 모두 마음에 드셨으면 좋겠습니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿