为什么浏览器无法解析以下代码?

Bob*_*obo 1 javascript

<script type='text/javascript'>

    function cool()
    {
        var innerHtml = "<script></script>";//simply for demostration
        $("body").append(innerHtml);
    }
 </script>
Run Code Online (Sandbox Code Playgroud)

以上将混淆浏览器,甚至在调用cool函数之前无法正确呈现.为什么?

Que*_*tin 8

</script> 将结束脚本元素,因此您的脚本将终止于字符串文字的中间.

浏览器不会"混淆",HTML是完全错误的(并且无效......除了在XHTML中......但只有在使用application/xhtml + xml时才会计算...然后你得到一组不同的问题),这会导致JavaScript错了.

当您使用内联JS时</,<\/按照JS字符串表示序列(根据HTML 4.01建议书的第18.2.4节中示例).