javascript - 自动分号插入机制
本文介绍了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屋!
查看全文