课程
/前端开发
/JavaScript
/Ajax全接触
eval('('+jsondata+')')为什么还要加()变成(())
2015-10-10
源自:Ajax全接触 4-2
正在回答
eval是一个执行环境,当你不加括号的时候的时候{}会被解释成一个复合语句,比如if(true){x=1;}中的大括号就是复合语句的作用,当加括号之后,整个'('+jsondata+')'被解释成一个表达式运算符,而不是复合语句,所以jsondata中的大括号{}被当成对象的语法来识别就可以了。
eval()是一种语法结构,其参数是字符串,作用是将字符串转成js代码来解析,字符串内多一对括号是表明为一个整体。
举报
本课程通过一个案例,讲解Ajax的相关概念原理实现方式和应用