Javascript 未捕获语法错误:意外标记非法-一个简单字符串语法错误

Javascript 未捕获语法错误:意外标记非法-一个简单字符串语法错误,javascript,string,variables,Javascript,String,Variables,为什么这个看似简单的字符串变量在语法上是错误的 var str = "<script>functionName()</script>"; var str=“functionName()”; 我得到以下错误 未捕获的语法错误:意外标记非法 以下是这应该有效的方法。添加了反斜杠“” <script> var str = "<script>functionName()<\/script>"; </script> v

为什么这个看似简单的字符串变量在语法上是错误的

var str = "<script>functionName()</script>";
var str=“functionName()”;
我得到以下错误

未捕获的语法错误:意外标记非法


以下是这应该有效的方法。添加了反斜杠“”

<script>
    var str = "<script>functionName()<\/script>";
</script>

var str=“functionName()”;

这应该行得通。添加了反斜杠“”

<script>
    var str = "<script>functionName()<\/script>";
</script>

var str=“functionName()”;

打开控制台并尝试放置字符串

var str=“functionName()”

没有语法错误,一切正常

当您将代码嵌入到脚本标记中时,如下所示

<script>
// code here
</script>

//代码在这里
在JSFIDLE中,如果检查错误,您将看到如下内容

<script type='text/javascript'>//<![CDATA[
window.onload=function(){
var str = "<script>functionName()</script>";
}//]]> 

</script>
//

浏览器不允许打开控制台并尝试放置字符串

var str=“functionName()”

没有语法错误,一切正常

当您将代码嵌入到脚本标记中时,如下所示

<script>
// code here
</script>

//代码在这里
在JSFIDLE中,如果检查错误,您将看到如下内容

<script type='text/javascript'>//<![CDATA[
window.onload=function(){
var str = "<script>functionName()</script>";
}//]]> 

</script>
//

浏览器不允许
这只发生在JSFIDLE中吗?@Tushar我已经在FIDLE和控制台中尝试过了。在控制台中,它工作正常。在小提琴中,它给出了这个问题。我正在试图理解为什么会发生这种情况。GokulShrinivas解释了这个问题,这是因为fiddle添加了
CDATA
这只发生在JSFIDLE中吗?@Tushar我在FIDLE和console中都试过。在控制台中,它工作正常。在小提琴中,它给出了这个问题。我正在试图理解为什么会发生这种情况。GokulShrinivas解释了这个问题,因为Fiddle添加了
CDATA
,需要反斜杠来转义控制台中的下一个字符
/
@GokulSrinivas Try
“/s”
,不需要。这将帮助您理解转义前斜杠@Tushar请尝试字符串
var str=“functionName()”也在控制台中。你不会得到任何错误。当您尝试将其嵌入脚本标记时会出现问题。需要反斜杠来转义控制台中的下一个字符
/
@GokulSrinivas try
“/s”
,这将帮助您理解转义前斜杠@Tushar请尝试字符串
var str=“functionName()”也在控制台中。你不会得到任何错误。当您尝试将其嵌入到脚本标记中时,就会出现问题。