CDATA标签在脚本标签中是必要的吗?如果是的话,什么时候?

换句话说,何时何地:

<script type="text/javascript">
//<![CDATA[
...code...
//]]>
</script>

更可取的是:

<script type="text/javascript">
...code...
</script>

当前回答

当您想要验证它时(在XML/XHTML中-感谢Loren Segal)。

其他回答

CDATA表示其中的内容不是XML。

这是维基百科上的解释

这样旧的浏览器就不会解析Javascript代码,页面也不会中断。

向后兼容。一定会喜欢的。

当浏览器将标记视为XML时:

<script>
<![CDATA[
    ...code...
]]>
</script>

当浏览器将标记视为HTML时:

<script>
    ...code...
</script>

当浏览器将标记视为HTML,而您希望XHTML 1.0标记(例如)生效时。

<script>
//<![CDATA[
    ...code...
//]]>
</script>

当您想要验证它时(在XML/XHTML中-感谢Loren Segal)。

当您要严格遵守XHTML时,您需要CDATA,以便小于和&符号不会被标记为无效字符。