如果您在瀏覽器控制臺中運行以下代碼,那么您在 Chromium 和 Safari 中會得到不同的結果。
String(function() { <!--
}).length
鉻回傳:
19
Safari 回傳:
20
為什么?
注1
無論使用哪種瀏覽器,通過 StackOverflow 代碼編輯器運行都會提供相同的輸出,這可能是由于原始輸出和瀏覽器視窗之間存在不同級別的中介。
筆記2
toString渲染到控制臺的輸出不同:
鉻:
'function() { \x3C!--\n}'
蘋果瀏覽器:
"function () { <!--
}"
編輯
這包含對該問題的早期版本的更正,該版本對結果的解釋不正確。
uj5u.com熱心網友回復:
這里的原因不是換行符號不同,而是實際上Safari()在其語法中的函式括號之前添加了一個空格。試試這個更容易并排比較字符:
String(function() {
}).split("")
你會在 Chrome 中看到,它會寫成
function()
而在 Safari 中它變成
function ().
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/480931.html
標籤:javascript
上一篇:如何在更改CSS縮放屬性時防止子div溢位父div?
下一篇:傳播React道具
