CDATA的形式如下: <![CDATA[文本内容]]> CDATA的文本内容中不能出现字符串“]]>”,另外,CDATA不能嵌套。
在XHTML中,小于、大于和双引号必须分别用这三个字符的XML实体<、>和"替换它们:
在JavaScript中,这种代码实际上将视为有语法错,因为解释程序不知道XML实体的意思。用CDATA段即可以以常规形式(即易读的语法)编写JavaScript代码。正式加入CDATA段的方法如下:
<script type="text/javascript">
<![CDATA[
function compare(a,b)
{
if (a < b)
{alert("a小于b");}
else if (a>b)
{alert("a大于b");}
else
{alert("a等于b");}
}
]]>
</script>
大多数浏览器都不完全支持XHTML,这就带来主要问题,即这在JavaScript中是个语法错误,因为大多数浏览器还不认识CDATA段。
<script type="text/javascript">
//<![CDATA[
function compare(a,b)
{
if (a < b)
{alert("a小于b");}
else if (a>b)
{alert("a大于b");}
else
{alert("a等于b");}
}
//]]>
</script>
使用单行的JavaScript注释"//",可在不影响代码语法的情况下嵌入CDATA段:现在,这段代码在不支持XHTML的浏览器中也可运行。
但是,为避免CDATA的问题,最好还是用外部文件引入JavaScript代码。
noscript
<div id="file-uploader">
<noscript>
<p>请打开浏览器的JavaScript功能,后重试</p>
</noscript>
</div>
那些不支持 JavaScript 的浏览器会把脚本作为页面的内容来显示。为了防止这种情况发生,我们可以使用这样的 HTML 注释标签。注释行末尾的两个正斜杠是 JavaScript 的注释符号,它会阻止 JavaScript 编译器对这一行的编译。
<script type="text/JavaScript">
<!--
js代码
//--> //就是这句,为什么还要在-->前加上js注释
</script>