javascript 字符串不能包含尖括号吗?
資深大佬 : onice 18
var html = "<script></script>";
这行总是报错,把第二个<去掉就不报错了。为什么呢?尖括号不需要转义的啊??

大佬有話說 (12)
var html = "<script></script>";
这行总是报错,把第二个<去掉就不报错了。为什么呢?尖括号不需要转义的啊??

= =
你这个代码被解析后就是
<script>… ‘ … </script>
‘
</script>
当然是不行了… 需要转义为 </script>
举例:
源代码是:
<script>
html='<script></script>’
</script>
HTML 引擎交给 JS 引擎解析的是:
html='<script>
上面 JS 字符串缺失后面的引号,所以不是合法的 JS,HTML 留下的代码是:
‘
</script>
首先第一行留下一个残缺的单引号,所以 HTML 就认为这是一段 text,就直接输出这个单引号字符;同时因为在</script>之前没有与之配对的<script>起始标签,所以后面这个闭合标签是不合法的 HTML 。