位置: 编程技术 - 正文

如何防止JavaScript自动插入分号(如何防止蟑螂爬到床上)

编辑:rootadmin

推荐整理分享如何防止JavaScript自动插入分号(如何防止蟑螂爬到床上),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:如何防止打呼噜,如何防止卖房子先过户被骗,如何防止晚上打呼噜?,如何防止趴桌子上胀气,如何防止蟑螂爬到床上,如何防止蟑螂爬到床上,如何防止javascript漏洞,如何防止javascript漏洞,内容如对您有帮助,希望把文章链接给更多的朋友!

在 JavaScript 中,行尾的分号有一种自动插入机制,这样子,可以容忍某些朋友忽略了输入分号。 当然你最好养成输入分号的习惯,同时掌握 JavaScript 是如何处理忽略输入分号的情况的,因为这种知识有助于你理解没有分号的代码。

JavaScript语言有一个机制:在解析时,能够在一句话后面自动插入一个分号,用来修改语句末尾遗漏的分号分隔符。然而,由于这个自动插入的分号与JavaScript语言的另一个机制发生了冲突,即所有空格符都被忽略,因此程序可以利用空格格式化代码。

这两种机制的冲突,很容易掩盖更为严重的解析错误。有时会不合时宜地插入分号。例如,在return语句中自动插入分号将会导致这样的后果:如果return语句要返回一个值,这个值的表达式的开始部分必须和return在同一行上,例如:

看起来这里要返回一个包含status成员元素的对象。不幸的是,JavaScript自动插入分号让它返回了undefined,从而导致下面真正要返回的对象被忽略。

当自动插入分号导致程序被误解时,并不会有任何警告提醒。如果把{放在上一行的尾部而不是下一行的头部,就可以避免该问题,例如:

为了避免省略分号引起的错误,建议养成好的习惯,不管一行内语句是否完整,只要是完整的语句都必须增加分号以表示句子结束。

为了方便阅读,当长句子需要分行显示时,在分行时应确保一行内不能形成完整的逻辑语义。例如,下面代码是一条连续赋值的语句,通过分行显示可以更清楚地查看它们的关系。这种分行显示,由于一行内不能形成独立的逻辑语义,因此JavaScript不会把每一行视为独立的句子,从而不会产生歧义。

以上语句在一行内显示如下: var a = b = c = 4;

如何防止JavaScript自动插入分号(如何防止蟑螂爬到床上)

对于下面这条语句,如果不能正确分行显示,就很容易产生歧义。该句子的含义:定义一个变量i,然后为其赋值,如果变量a为true,则赋值为1,否则就判断变量b,如果b为true,则赋值为2,否则就判断变量c,如果c为true,则赋值为3,否则赋值为4.

下面的分行显示就是错误的,因为表达式a &#; 1: b能够形成独立的逻辑语义,所以JavaScript会自动在其后添加分号来表示一个独立的句子。

安全的方法应该采用如下的分行显示,这样每一行都不能形成独立的语义。

总之,在编写代码时,应养成使用分号结束句子的良好习惯,凡是完整的句子就应该使用分号进行分隔。分行显示的句子应该确保单行不容易形成独立的合法的逻辑语义

PS:示例详解javascript自动在行尾添加分号

分号(;),通常会用在一行语句的结尾,代码如下:

上面的代码,在每一个声明语句后面都添加了分号,这不用多解释。

其实分号也完全可以省略,但是省略的这个分号,会在编译阶段自动为其添加分号。再来看一段代码实例:

由于编译器会在每一行后面都自动添加了分号,所以输出值undefined,不是"积木网"。

JS实现slide文字框缩放伸展效果代码 本文实例讲述了JS实现slide文字框缩放伸展效果代码。分享给大家供大家参考,具体如下:这里介绍的slide文字框缩放伸展效果,自己闲来无事写的,不

JavaScript实现cookie的写入、读取、删除功能 在没介绍正文之前,先给大家介绍Cookie的基础知识首先了解什么是cookiecookie是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个

JS实现自定义简单网页软键盘效果代码 本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅

标签: 如何防止蟑螂爬到床上

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

上一篇:javascript常用函数(2)(javascript函数如何定义及其作用)

下一篇:JS实现slide文字框缩放伸展效果代码(js怎么设置字体)

  • 未确认融资费用和长期应付款
  • 车辆购置税征收管理
  • 增值税电子普通发票怎么作废
  • 做账一定要银行对账单吗
  • 已知不含税金额和税额怎么求税率
  • 民办美术高中有哪些
  • 固定资产抵债要交税吗怎么交
  • 增值税不允许抵扣的27种情况
  • 补充医疗保险应享尽享方案
  • 成本类科目期末借方余额表示
  • 供暖的配套费是不是开口费
  • 红字发票做进项转出还是红字负数
  • 应付账款坏账处理分录怎么写
  • 公司对外投资是股东会还是董事会
  • 补记以前年度折旧
  • 销售固定资产未收到钱
  • 医院行业类别怎样填写
  • 外来原始凭证是指企业财会部门从外部购入的原始凭证
  • 个人所得税人员添加后如何操作
  • 农产品购货发票
  • 帮别人公司过账100万,再转30回给他
  • 开票金额比收入高怎么办
  • 会计科目发出商品
  • 暂估入库怎么处理
  • 结转已售材料成本600元会计分录
  • redis在php项目中的使用实例
  • bios设置图文详解
  • win10专业版如何改为家庭版
  • 公司向股东还款的会计分录
  • 税收返还如何做账
  • elementuiicon
  • php获取参数值的三种方式
  • php io操作
  • PHP:imagestringup()的用法_GD库图像处理函数
  • 贷款支付的本息如何记账
  • 图像分割 unet
  • 结算借款的账务处理办法
  • vue 使用js
  • php生成二维码海报
  • php中单引号和双引号
  • 增值税附加税必须交吗
  • yolov4环境搭建
  • php中preg_replace_callback函数简单用法示例
  • 计提支付公积金
  • 固定资产处置缴纳增值税政策依据
  • 会计账的银行存款与银行存款不一致 是属于账账不符吗
  • 销售返点什么意思
  • 购买税控设备的分录怎么做
  • 外经证开错作废要带些什么
  • 其他支出怎么做账
  • 长期股权投资投资损益的确认
  • 车船税应计入税金及附加吗
  • 多交增值税退税抵欠怎么处理
  • 背书转让的操作
  • 事业单位收到退税账务处理
  • 向非关联企业捐赠现金会计分录
  • 分支机构可不可以不建账合并到总机构?
  • 子公司注销债务如何处理
  • 多计提房产税怎么冲销
  • 投资性房地产收回自用
  • 金蝶迷你版为什么打不开
  • 税局代开专用发票时交的钱如何记账?
  • 审计年审内容
  • 购买金税盘取得的发票
  • 商业企业会计制度变迁论文
  • 深度技术win11
  • ubuntu怎么装
  • win8怎么升级到win7
  • windows ocx注册
  • win7系统ie浏览器打不开
  • win10系统中打开任务管理器的快捷键
  • w8虚拟内存怎么设置
  • 刚接触 python 如何快速上手?
  • Linuxshell脚本实现自动化软件部署内容
  • django 表单
  • Eclipse和PyDev搭建完美Python开发环境教程(Windows篇)
  • 暂停资本化期间,一般借款的借款利息不允许资本化
  • 实名办税有什么作用
  • 公司零申报可以交社保吗
  • 南京税务局举报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设