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('''),之前的会因为多了一个',所以报错。
本文探讨了JavaScript中使用eval函数结合特殊字符串的情况,特别是如何正确处理字符串内的转义字符,避免语法错误并确保代码正常运行。
3904

被折叠的 条评论
为什么被折叠?



