eavl(json)为什么要加上小括号

2016-07-20  本文已影响125人  结构学AI

<script>

var str="{'height':'200px','widt':'20px'}"

{'height':'200px','widt':'20px'}//直接出现会报错等同下面;因为等号的内涵式先执行再赋值;

//var obj=eval(str);

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

alert(typeof obj)

var a=(1,2,3,4,5)

alert(a)//返回5

/*好的,问题解决了,为什么我们需要添加括号来框住JSON,因为这是()本身就是表达式,他会返回里面的值,如果里面有逗号,他会返回里面的最后一个值(逗号表达式),如果我们直接在eval中执行json就相当于直接在html中写{"height":"200px","width":"30px"},也就是字符串:字符串,这是不被允许的,及时没有报错,我们也不能得到我们想要的结果,*/

</script>

上一篇 下一篇

猜你喜欢

热点阅读