您的位置:首頁技術文章
文章詳情頁

javascript - 在<script>標簽中輸出</script>的疑問

瀏覽:144日期:2022-11-19 09:52:59

問題描述

問題描述:

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Document</title></head><body> <script> console.log('</script>'); </script></body></html>

無法輸出,報錯:Uncaught SyntaxError: Invalid or unexpected token。

這屬于是瀏覽器的BUG嗎?

問題解答

回答1:

結合瀏覽器看起解析,估計能明白,因為你要console的是一個script的結束標簽,瀏覽器在解析html標簽的時候,直接就把它當做結束標簽用了,這時候你會看到頁面上只顯示了');,余下的本來是真正的結束標簽,被當做多余處理掉了。

javascript - 在<script>標簽中輸出</script>的疑問

類似情況還有

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Document</title></head><body> <script> //</script> </script></body></html>

從解析標簽的角度來看,瀏覽器:“這鍋我不背”。

如果要正常顯示,可以 加轉義

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Document</title></head><body> <script> console.log('</script>'); </script></body></html>回答2:

瀏覽器內核的HTML解析器是一種“狀態機”的處理方式;html解析原理

回答3:

谷歌可以輸出

標簽: JavaScript
相關文章:
国产综合久久一区二区三区