javascript文本被解释为脚本

时间:2017-02-25 12:00:25

标签: javascript html browser

我不明白浏览器回复给我的错误 我将一些简单的文本放入变量中 但事实上,这被解释为一个脚本?

错误:

Uncaught SyntaxError: Invalid or unexpected token : line 10

<!DOCTYPE html>
<html lang="en"> 
<head>
<meta charset="utf-8"/>

<body>
</body>
<script>

var text = '<script> Hello </script>' ;

//console.log ( text ); 

</script>
</html>

类似的问题: javascript string interpreted as object

1 个答案:

答案 0 :(得分:4)

当浏览器解析它时,它会看到<script>并盲目地构建文本,直到它看到序列</script>,然后将其作为脚本的结尾。在你的情况下,这是在你的字符串的中间。

为避免这种情况,请在/

之前的字符串中添加反斜杠
var text = '<script> Hello <\/script>' ;

反斜杠在JavaScript中没有效果(转义/仍为/),但浏览器不会将其视为脚本的结尾。

或者你可以分手:

var text = '<script> Hello <' + '/script>' ;

基本上是任何东西,以便浏览器在您的脚本实际结束之前看不到</script>