簡體   English   中英

為什么

[英]Why does <!— return undefined and not a syntax error?

html注釋標簽<!---->作為js命令運行時返回undefined ,我期望語法錯誤。 為什么會這樣?

我在DoubleClick ...下載鏈接)中偶然發現了這一點。

由於<script>是后來才添加到HTML的,並且當時許多瀏覽器都不承認腳本的存在,因此<!--實際上是Javascript語言規范的已定義成員,被視為“注釋的開始”。 ”。

請記住,默認情況下,瀏覽器會忽略他們不理解的標簽,因此

<tag_which_does_not_exist>hi there</tag_which_does_not_exist>

實際上會在瀏覽器中顯示“ hi there”。 對於不支持腳本的瀏覽器,這意味着它們實際上會將JS代碼顯示為文檔中的文本。 所以..

<script>
<!--
alert('hi there');
// --> 
</script>

會在可識別腳本的瀏覽器中彈出JS警報,而對腳本無知的瀏覽器將完全忽略它。

還要注意-->不是有效的Javascript,這就是為什么必須將其輸入為// --> //是另一個JS單行注釋,它注釋掉了否則無效的--> html注釋結束標記。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM