自动分号插入机制

在看了几篇自动分号插入机制相关的文章后,有个疑问

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>Document</title>

</head>

<body>

    <script>

        var test = false

            || 2

        alert( test )

    </script>

</body>

</html>

https://img2.mukewang.com/5bdbffc500016dfb03400357.jpg

这里会弹出2的弹框
但是第9行不符合ASI断句机制,第10行也没有( [ + - * / % , .开头 像这种两边都没有着落的 是自动合并成一行吗?

Smart猫小萌
浏览 457回答 1
1回答

慕标5832272

解析器在在没有遇到;符号时,会继续读取后续的代码,只要和已经读取的代码结合后符合语法规则,就不会报错;当无法构成合法语句时,之前合并的代码作为一个完整的语句返回。继续后续代码的读取解析
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript