gpt4 book ai didi

javascript - JavaScript 语法中的歧义

转载 作者:行者123 更新时间:2023-11-28 10:14:48 25 4
gpt4 key购买 nike

Possible Duplicate:
Why the open quote and bracket for eval('(' + jsonString+ ')') when parsing json string

根据Wikipedia entry on JSON ,如果您想使用 eval 解析 JSON 对象,请说:

{
"firstName": "John",
"lastName": "Smith",
"age": 25
}

您需要这样做:

var obj = eval("(" + JSON + ")");

如果没有用括号将 JSON 文本括起来,就会在 JavaScript 语法中引发歧义

我不太确定这种歧义是什么,希望得到一些意见。

最佳答案

我不知道是否可以称之为“歧义”。 JSON 只是一个 javascript(实际上是 ECMAScript)对象文字,因此它看起来像“{...}”。但是,在 ECMAScript 中,语句不能以大括号“{”字符开头。

因此添加了分组运算符以构成表达式“({...})”。这消除了语法错误,因此可以将其传递给 eval。

此外,评估代码将意味着许多错误被吞掉,如果存在错误并且字符串很重要,您会发现很难调试。

关于javascript - JavaScript 语法中的歧义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6812347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com