奇怪的Javascript错误与字符串

时间:2011-01-14 18:55:43

标签: javascript string

我在这段代码中遇到“unterminated string literal” Javascript错误:

var test = '<script type="text/javascript">var s = document.createElement(\'SCRIPT\');</script></div>'; 

我在这里做错了什么?我正在逃避单引号,但它似乎没有什么区别。但是,此代码确实有效:

var test = 'var s = document.createElement(\'SCRIPT\');</div>';

有什么区别?我必须在这里遗漏一些东西。

3 个答案:

答案 0 :(得分:5)

打破那个脚本标记老派的方式

var test = '<scr'+'ipt type="text/javascript">var s = document.createElement(\'SCRIPT\');</scr'+'ipt></div>';

答案 1 :(得分:0)

它看起来像你正在使用的任何Javascript解析器中的错误。

请使用双引号作为解决方法:

var test = '<script type="text/javascript">var s = document.createElement("SCRIPT");</script></div>';

答案 2 :(得分:0)

如果您的脚本与页面的其余部分内联,则可能需要通知解析器您的Javascript代码不应使用CDATA进行解析。

<script type='text/javascript'>
<![CDATA[
// javascript code goes here, including '<' and '>' characters that could be interpreted as HTML tags
]]>
</script>