This article mainly introduces why eval in JS needs to enclose JSON data. For more information, see the rise of Ajax, the lightweight JSON data format gradually becomes popular as the transmission format between the client and the server. the problem that arises is how to convert the JSON data built on the server to available JavaScript objects. Using eval functions is undoubtedly a simple and direct method. During conversion, enclose the JSON string with parentheses:
The code is as follows:
Var jsonObject = eval ("(" + jsonFormat + ")");
Why should we add parentheses?
The purpose of parentheses is to force the eval function to forcibly convert the expressions in parentheses into objects when processing JavaScript code, rather than executing them as statements. For example, if no outer brackets are added to the object literal {}, eval identifies the braces as the start and end mark of the JavaScript code block, then {} is considered to have executed an empty statement. The following two execution results are different:
The code is as follows:
Alert (eval ("{}"); // return undefined
Alert (eval ("({})"); // return object [Object]
The above is all the content of this article. I hope you will like it.