javascript - 自动分号插入机制

查看:103
本文介绍了javascript - 自动分号插入机制的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <script>
        var test = false
            || 2
        alert( test )
    </script>
</body>
</html>

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

解决方案

解析器在在没有遇到;符号时,会继续读取后续的代码,只要和已经读取的代码结合后符合语法规则,就不会报错;
当无法构成合法语句时,之前合并的代码作为一个完整的语句返回。继续后续代码的读取解析

这篇关于javascript - 自动分号插入机制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆