位置: 编程技术 - 正文

JavaScript中的分号插入机制详细介绍(javascript 分号)

编辑:rootadmin

推荐整理分享JavaScript中的分号插入机制详细介绍(javascript 分号),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript分为,javascript分号的作用,js的分类,javascript分为哪两种数据类型,javascript 分割,javascript分为,javascript分为,javascript函数分类,内容如对您有帮助,希望把文章链接给更多的朋友!

仅在}之前、一个或多个换行之后和程序输入的结尾被插入

也就是说你只能在一行、一个代码块和一段程序结束的地方省略分号。

也就是说你可以写如下代码但是却不可以写的像下面代码一样,这样就报错了哦

仅在随后的输入标记不能解析时插入

也就是说分号插入是一种错误校正机制。看代码说话

所以你必须得注意下一条语句的开始,从而确定你是否能够合法的省略分号。

(、[、+、-、和/ 这五个字符开始的语句,那么最好前面不要省略分号。

举例说明一下哦本来你以为没有错误,但是解析器却解析成了如下语句因为第二句语句是以[开始的,所以解析器不会在第一条语句后自动插入分号,这样就解析成了如上所示,上面的式子解析时b['b'].forEach难道不是错的吗?

所以(、[、+、-、和/ 这五个字符开始的语句,那么最好前面不要省略分号。

想省略分号,有经验的程序员会在该语句的后面跟一个声明语句,以保证解析器解析正确。如下所示所以如果你需要省略分号,必须检查接下来的一行开始标记是否为上述五个字符导致解析器会禁用自动插入分号,或者你也可以在(、[、+、-、和/ 这五个字符前置一个分号

省略分号导致脚本连接问题

JavaScript中的分号插入机制详细介绍(javascript 分号)

上述两个文件连接时,就会被解析成如下

所以省略分号不仅需要当心当前文件的下一个标记,而且还需要当心脚本连接后可能出现在语句之后的任一标记。

为避免解析器解析错误,你可以在每个文件前缀一个额外的分号以保护脚本免受粗心连接的影响。如果文件最开始的语句以上述5个脆弱字符开关,你就应该添加额外的分号前缀。

JavaScript语法限制产生式

JavaScript语法限制产生式:不允许在两个字符之间出现换行。

举例说明:上述代码就被解析成了

自增自减运算的分号插入规则大家想想上述代码会被解析成什么样?说出谜底吧,因为自增运算符既可以作为前置运算符又可以作为后置运算符,但是后置运算符不能出现在换行之前,所以上述代码被解析成了

分号不会作为分隔符在for循环空语句的头部被自动插入像上述的代码就会出现解析错误。

空循环体的while同样也需要显示的分号,否则也会导致解析错误必须写成如下才不会报错哦

总结一下哦

1.仅在}标记之前、一行的结束和程序的结束处推导分号2.仅在紧接着的标记不能被解析的时候推导分号3.在以(、[、+、-、和/ 字符开头的语句前绝不能省略分号4.当脚本连接的时候,在脚本之间显式的插入分号5.在return、throw、break、continue、++或--的参数之前绝不能换行6.分号不能作为for循环的头部或空语句的分隔符而被推导出

JS实现的生成随机数的4个函数分享 第一种方法/**@desc:生成随机字符串*@remark:toString方法可以接收一个基数作为参数的原理,这个基数从2到封顶。如果不指定,默认基数是进制*/functiongen

javascript中call,apply,bind的用法对比分析 关于call,apply,bind这三个函数的用法,是学习javascript这门语言无法越过的知识点。下边我就来好好总结一下它们三者各自的用法,及常见的应用场景。首

js数组的操作指南 1、数组的创建vararrayObj=newArray();//创建一个数组vararrayObj=newArray([size]);//创建一个数组并指定长度,注意不是上限,是长度vararrayObj=newArray([element0[,element1[

标签: javascript 分号

本文链接地址:https://www.jiuchutong.com/biancheng/384754.html 转载请保留说明!

上一篇:Javascript核心读书有感之表达式和运算符(javascript的核心语言对象包括)

下一篇:JS实现的生成随机数的4个函数分享(js实现生成随机的圆)

  • 外地预缴的附加税怎么算
  • 企业收到财政局退款需要开票吗
  • 关联方交易金额太大有什么后果
  • 付钱给对方会计分录
  • 小规模企业所得税税率多少
  • 支付宝企业账户的钱怎么取出来
  • 每个月固定发工资
  • 内账应收应付算利润吗
  • 材料验收入库并结转差异记账凭证
  • 确认收入销售折让分录
  • 投资损益表该如何填列
  • 异地存款手续费2022最新规定
  • 没有单价数量只有金额的发票可以用吗
  • 核定征收怎么交企业所得税
  • 一般纳税人开3个点的票不能抵扣进项
  • 企业所得税计算器2023
  • 企业自行出版的报刊费用可否认证抵扣?
  • 营改增后还有建筑业发票吗
  • 季初是什么意思
  • 购入赠品计入什么科目
  • 上个月开的发票这个月还能用吗
  • 主营业务收入如何确认
  • 新的成品油消费税纳税申报表有什么变化?
  • 代收代付快递货款需要发票吗,中间差额服务费怎么开票?
  • 华为手机定位另外一个华为手机怎么办
  • 监理多计量承担什么责任
  • 住房公积金扣除标准为每月
  • 电脑不能上网是什么原因?
  • thinkphp paginate
  • 政府性基金收入来源
  • 其他综合收益需要结转吗
  • 支付劳务费时是什么科目
  • 接受股权投资账务处理
  • 适合练手的动漫人物
  • yolov3模型训练
  • 博客界面模板
  • 面试题集锦
  • springboot自动配置的注解
  • 还未进行抄报税
  • 怎么实现宏的功能
  • mongo 更新数据
  • linux mongodb配置文件
  • 企业期末预收账款怎么算
  • 福利费用使用范围
  • 工会经费会计分录最新
  • 赔偿给客户的产品交增值税吗
  • 住房公积金是怎么来的?
  • 附加税税率是指
  • 交了社保里面的钱去哪里了
  • 上月暂估成本次月用冲回吗
  • 已认证进项税转出口退税怎么处理
  • 垃圾清运费会计处理
  • 提取公积金收手续费吗
  • 减免税做营业外收入的会计分录
  • 代金券的利弊有哪些方面
  • 营改增对企业税负影响
  • 事业编制可以带计算器吗
  • sql ntext数据类型字符替换实现代码
  • xp系统下载SCSI硬盘的安装、启动、设置教程
  • tcp半连接和全连接
  • win7同步中心怎么关掉
  • macos邮件
  • ubuntu系统如何设置永不休眠
  • 苹果公司joz
  • 怎么让微软账户获得所有权限
  • win7系统怎么禁用开机启动项
  • unity2d横版游戏源码
  • Unity3D游戏开发基础
  • win2000停止服务
  • 批量数据验证
  • node.js入门教程
  • 基于mvc的项目实例
  • python中的range和arange
  • python基于django的项目
  • jquery实现简单Tab切换菜单效果
  • Python判断字符串结尾并输出yes或no
  • 百望税控盘电子发票发送邮箱
  • 广西地方税务网站官网
  • 积极配合税务局工作
  • 宁波国税发票查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设