2010-07-30 96 views
3

我已經看過JavaScript標籤功能使用了十多年了,並且從未問過爲什麼。在這段時間我看到的大多數教程中都會看到,但我通常會將其忽略掉......它似乎沒有這樣或那樣的效果。任何人都可以啓發我爲什麼使用它?爲什麼在javascript中使用「// - >」

如果它只是表示JavaScript函數的結束,那麼右邊的括號是不夠的?如果是一系列功能,則使用結束腳本標記。

我懷疑我需要一個例子,但對於所有其他讀者那裏,也知道什麼是對,這裏的一些代碼:提前



function helloWorld() { 
    document.write('Hello World'); 
} 
//--> 

謝謝!

+1

正如@ del.ave在他的回答中指出,相關做法是在註釋中使用CDATA相反,我已經必須在過去使用,以便我的XHTML中的JavaScript通過驗證。 – 2011-07-04 00:03:28

回答

4

回到過去,有些瀏覽器沒有處理javascript,所以爲了避免錯誤, HTML註釋塊「」中的JavaScript代碼。

今天,XHTML標準說,你應該逃脫你的腳本一樣

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

你不必這樣做的HTML。請參閱:

http://www.w3.org/TR/xhtml1/ 
http://www.w3schools.com/tags/tag_script.asp 
+0

非常感謝;這就是我正在尋找的答案。我很抱歉沒有及早回覆你。 =) – Justin 2011-08-02 19:03:34

3

這是註釋掉代碼,所以不支持JS的傳統瀏覽器不會看到它。
現在這可能幾乎沒用。

請注意,它在開始時也需要一個<!--以使其成爲評論。

閱讀:http://lachy.id.au/log/2005/05/script-comments

+1

*非常*無用,醜陋。 – MvanGeest 2010-07-30 13:14:26

+1

該教程並沒有告訴我這是無用的,並且讓我非常想知道如何在非js瀏覽器中的腳本開始處隱藏兩個斜線,如'// <! - script ...// - >除了向用戶顯示並打破我的其他精彩頁面(在黃色背景上帶有跑馬燈和其他酷紅文字)之外,非js瀏覽器會如何處理? – Amarghosh 2010-07-30 13:20:17

1

如果你發現,你也可以平時腳本之前看到一個<!--

該語法被使用,因此不支持Javascript的瀏覽器將忽略這些腳本的主體。

事實上,在HTML中,任何被包圍<!---->被認爲是評論

10

這是一個從沒有時JS支持的瀏覽器是相當常見的日子緩繳。如果您直接在HTML文件中包含JS代碼,則應在代碼周圍包含HTML註釋標記(<!-- -->),以便這些瀏覽器不會將其顯示爲頁面的一部分。 // -->的原因是這樣的瀏覽器支持JS沒有嘗試解釋結束的HTML評論作爲JS代碼的一部分。

+0

非常感謝!我很抱歉沒有及時回覆。 – Justin 2011-08-02 19:04:03

1

如果您正在驗證您的html代碼,這也很有用,所以js不會顯示爲無效的html標記。正如大家提到的那樣,它已經過時了。我個人嘗試永遠不會有內聯的JavaScript,總是在可以緩存的外部文件中,這使得這種編碼風格無用

1
  1. 對於不理解JavaScript或者JavaScript是手動關閉這些開始<!--和結束html_comment_tags -->將有助於腳本>/? < &^% #) ! - (內bad_data被註釋掉
  2. 如果瀏覽器瀏覽器可以理解JavaScripts,它不會解析最後的comment_ending標記-->,因爲//放在html_comment_end標記-->之前,並且如果瀏覽器不明白javascript的註釋標記(僅僅是因爲jscript被關閉)的含義,那麼這顯然解析在通常的方式-->和註釋掉一切<script></script>裏面包括//
相關問題