簡體   English   中英

javascript嘗試捕獲不完全在Firefox中工作

[英]javascript try catch not fully working in firefox

有人能解釋我為什么這樣:

<html>
<head></head>
<body>
    <script>
        try {
            document.attribute-withminus = 5;
        }
        catch(e) {
            alert('something went wrong');
        }

        alert('ok');
    </script>
</body>
</html>

沒有給我一個警告'出錯了'而且沒有'確定'的警告?

它在chrome中工作正常。 但是在Firefox中,它只是退出(它確實在Web控制台中顯示錯誤)。 try-catch的重點是確保如果我輸錯了,它應該給我一個警告說。 我不想讓Web控制台一直打開。

另外,我知道這里有什么問題(減號屬性;應該使用setAttribute)。 我問為什么我的錯誤沒有被發現。

document.attribute-withminus = 5;

語法錯誤(可能類似於“在分配中無效的左手部分” )這是一個早期錯誤 ,而不是運行時錯誤。

瀏覽器不應該執行包含它的腳本,它應該在任何評估之前在編譯包含錯誤的代碼時立即停止並報告錯誤。 在大多數瀏覽器中,腳本將在到達try子句之前完全編譯。 它適用於Chrome,因為Chrome會延遲編譯,直到需要內部塊。

暫無
暫無

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

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