2013-01-07 61 views
3

最近我一直在看的JavaScript包裝直列不同的方式:有道JavaScript代碼


選項1:

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

選項2:

<script> 
... 
</script> 

選項3:

<script type="text/javascript"><!-- 
... 
//--></script> 

選項4: 任何上述的組合?


什麼是當前的標準?

+0

當前標準是2號AFAIK。 – elclanrs

+1

選項2適用於HTML5。 – Blender

+0

你可能會發現[這個問題](http://stackoverflow.com/questions/66837/when-is-a-cdata-section-necessary-within-a-script-tag)有幫助。 –

回答

2

HTML5

<script> 
alert('Hello world.'); 
</script> 

XHTML

<script type="text/javascript"> 
//<![CDATA[ 
alert('Hello world.'); 
//]]> 
</script> 

舊的瀏覽器

<script language="javascript"><!-- 
alert('Hello world.'); 
//--></script> 

在XH CDATA節要將文檔解析爲XML,TML是必需的。

根據Douglas Crockfordlanguage屬性已被棄用,您可以使用type屬性代替。在HTML中,它是可選的。關於HTML評論標籤,他有這樣的說法:

不要使用<!-- //-->黑客與腳本。它旨在 防止腳本顯示爲第一代 瀏覽器Netscape 1和Mosaic上的文本。它不需要很多 年。 <!-- //-->應該表示HTML評論。評論 應該被忽略,不編譯和執行。此外,HTML註釋 不包括--,因此遞減的腳本具有HTML錯誤。

因此,如果您正在爲今天的網頁開發腳本,您將使用HTML5方式。