js中eval

js中eval()函数可计算某个字符串

1.如果data是个字符串,使用  eval("("+data+")")  可以将data转化为json对象,和JSON.parse的功能一样。

2.如果data是JSON对象,则使用  eval("("+data+")")  会报错

注意:

使用eval会有很多问题,如果想要实现转化,可以使用JSON.parse,如果后台返回为JSON对象,则直接使用data就可以。如果使用jq,则将type设置为json,或者利用$.getJSON()方法获得服务器返回,就不需要eval方法了

使用eval转化时为什么要添加括号

这是eval自身的问题。由于json是以{}的方式来开始以及结束的,在js中,它会被当成一个语句块来处理,所以必须强制性的将它转化成一种表达式。加上()是迫使eval函数在处理js代码的时候强制将{}内的表达式转化为对象,而不是作为语句来执行。

猜你喜欢

转载自blog.csdn.net/weixin_38098192/article/details/80746212