为了账号安全,请及时绑定邮箱和手机立即绑定

eval('('+jsondata+')')为什么还要加()变成(())

eval('('+jsondata+')')为什么还要加()变成(())

正在回答

2 回答

eval是一个执行环境,当你不加括号的时候的时候{}会被解释成一个复合语句,比如if(true){x=1;}中的大括号就是复合语句的作用,当加括号之后,整个'('+jsondata+')'被解释成一个表达式运算符,而不是复合语句,所以jsondata中的大括号{}被当成对象的语法来识别就可以了。

2 回复 有任何疑惑可以回复我~

eval()是一种语法结构,其参数是字符串,作用是将字符串转成js代码来解析,字符串内多一对括号是表明为一个整体。

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Ajax全接触
  • 参与学习       224850    人
  • 解答问题       663    个

本课程通过一个案例,讲解Ajax的相关概念原理实现方式和应用

进入课程

eval('('+jsondata+')')为什么还要加()变成(())

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信