日期:2014-05-16 浏览次数:20475 次
var ss="a:'\'d'"; alert(ss);
?
以上弹出框结果为:a:''d'
?
var ss="a:'\\'d'"; alert(ss);
?
以上弹出框结果为:a:'\'d'
?
?
【================】
?
var ss="a:'\'d'"; alert(eval("[{"+ss+"}]")[0].a);
?
以上会报错:错误: 缺少 '}'
?
应该改为:
?
var ss="a:'\\'d'"; alert(eval("[{"+ss+"}]")[0].a);
?
以上结果正确,输出:'d
?
?
【================】
?
原理:
先解析字符串中的\'为',然后进行eval('''),之前的会因为多了一个',所以报错。