2017-02-25 7 views
1

ブラウザに戻ってくるエラーを理解できません 変数に単純なテキストを入力します。 実際、これはスクリプトとして解釈されますか?JavaScriptのテキストをスクリプトとして解釈する

エラー:

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

答えて

4

ブラウザはそれが<script>を見て、ことを解析して、それが配列</script>を見るまで盲目的にテキストを構築し、さそれはスクリプトの終わりにかかります。あなたの場合、それはあなたの文字列の真中にあります。

/前に文字列にバックスラッシュを追加し、それを避けるために:

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

バックスラッシュは(エスケープ/はまだ/ある)JavaScriptでは効果がありませんが、ブラウザがそれを見ることはありませんスクリプトの終わりとして。

またはあなたはそれを破ることができます。

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

を基本的に何でもブラウザが</script>前に、スクリプトの実際の終わりには表示されませんように。

+0

エラーは、CodeMirror setValueに」のみ。しかし、より良い答えは、あなたのJavaScriptをJavaScriptファイルに置き、代わりに ''を使用することです。 JavaScriptコードに文字列「」があることを心配する必要はありません。 –

+0

完璧、やめろたくさん! –

関連する問題