什么情况下使用转义字符
结论先行
只需要关注最外层:
-
最外层是双引号,内部出现双引号需要转义
-
最外层是单引号,内部出现单引号需要转义
无引号源代码
函数外面没有双引号和单引号的时候原本的写法:
1. createTabs('上天','下海');
2. createTabs("上天", "下海");
出现引号嵌套示例:
1. 最外层是单引号里面有单引号:
2. var create = 'createTabs(\'上天\',\'下海\');';
3.
4. 最外层是双引号里面有双引号:
5. var create = "createTabs(\"上天\", \"下海\");";
6.
7. 最外层是单引号里面有双引号:
8. var create = 'createTabs("上天", "下海");';
9.
10. 最外层是双引号里面有单引号:
11. var create = "createTabs('上天','下海');";
12.
13. 最外层是双引号里面有单引号嵌套:
14. var create = "'createTabs('上天','下海');'";
15.
16. 最外层是双引号里面有双引号嵌套:
17. var create = '"createTabs("上天", "下海");"';
为什么要使用转义字符呢?
来举例说明:
这是一段html代码,这样写绝对没有问题
1. <li><a οnclick="createTabs(shortcutMenu.menuUrl,shortcutMenu.sts);
2. href=javascript:void(0)">;
3. 其中shortcutMenu是一个JSON对象。
如果这段代码需要通过js以字符串的形式写入到某个标签中
从上面可以看出:因为有代码片段需要计算,所以要拼接接字符串,因此以上代码由五大块拼接而成。
javascript中使用\来转义的三种情况
1.定义字符串的单引号或双引号里的同符号或字符串内回车换行,比如A: a = “<a href=”…">a"; B: a = ‘<a href=’…’>a’;
2.特殊符号,如x进制,\u4e00 \x4e00 \n \r \t 等;
3.正则式里特殊字符 .*()[]{}?^!等;