位置: 编程技术 - 正文

详解JavaScript语法对{}处理的坑爹之处(javascript语言介绍)

编辑:rootadmin

JavaScript的语法有多坑,算是众人皆知了。

先来上张图

代码如下:

这么蛋疼的语法坑估计也只有 JavaScript 这样的奇葩才有。

相信对于绝大部分不研究 JavaScript 编译器的童鞋,根本无法理解。(至少我也是觉得不可思议)

后来专门去度娘了一下,才有点恍然大悟!

下面,我们先看看这个代码:

相信大部分童鞋,第一眼都会认为这是一个 对象直接量 。

那这个代码呢?

浏览器会提示语法错误吗?

显然不会!细想一下,我们就会明白到,这是一个 语句块 。

说到这里,敏锐的你可能已经发现:JavaScript 中以 { 开头,会存在二义性。

那 JavaScript 的编译器是怎么处理这个二义性的?

了解决这个问题,ECMA 的方法十分简单粗暴:在语法解析的时候,如果一个语句以「{」开头,就只把它解释成语句块。

这真心是一个坑爹的处理方式!

那既然都是语句块,那为什么 {a:1} 却没有语法错误?

其实在这里,a 被解析器理解为了 标签。标签 是用来配合 break 和 continue 语句作定向跳转的。

因此,这样的写法就会抛出异常:

因为 function () {} 不是函数声明,也不是函数表达式。

到这里,大家应该对 {} 的奇葩处理有了基本的概念。我们再看回文章开始所提到的几条语句:

第一条,因为 {} 是 语句块,代码可以理解为:

所以返回值是 0 。

第二条,由于 {} 并不在语句的开头,所以是一个正常的 对象直接量,空数组和空对象直接相加,返回 "[object Object]" 。

理解了第一第二条,第三条已经无需解释了。

第四条,因为是 () 开始,第一个 {} 被解析为 对象直接量 ,因而两条公式相等,返回 true。

推荐整理分享详解JavaScript语法对{}处理的坑爹之处(javascript语言介绍),希望有所帮助,仅作参考,欢迎阅读内容。

详解JavaScript语法对{}处理的坑爹之处(javascript语言介绍)

文章相关热门搜索词:javascript语言介绍,javascript详细介绍,javascriptj,javascriptj,javascript详细介绍,javascript语言入门教程,javascript语法,javascript详细介绍,内容如对您有帮助,希望把文章链接给更多的朋友!

javascript中attribute和property的区别详解 DOM元素的attribute和property很容易混?x在一起,分不清楚,两者是不同的东西,但是两者又联系紧密。很多新手朋友,也包括以前的我,经常会搞不清楚。a

javascript中的throttle和debounce浅析 throttle我们这里说的throttle就是函数节流的意思。再说的通俗一点就是函数调用的频度控制器,是连续执行时间间隔控制。主要应用的场景比如:1.鼠标

Javascript中的delete操作符详细介绍 一、变量说到javascript中的delete操作符,还是首先要搞清楚javascript中的变量和属性之间的关系。javascript中,变量和对象属性关系非常微妙,甚至可以很

标签: javascript语言介绍

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

上一篇:浅析JavaScript基本类型与引用类型(javascript基于)

下一篇:javascript中attribute和property的区别详解

  • 财产和行为税合并申报
  • 房地产开发产品科目
  • 个体户免税金额现在是多少
  • 免税 普票
  • 发票认证延期抵扣啥意思
  • 有限责任公司应当具备的条件
  • 小规模纳税人销售额
  • 进项发票认证后暂不抵扣
  • 固定资产变动时应如何处理
  • 成本大于收入可以吗
  • 个人转到公司账上的钱能开发票吗
  • 公司更名期间账户可以使用吗?
  • 网站服务器使用什么IP地址
  • 个人所得税申报错误如何更正申报
  • 行政事业单位会计基础工作规范
  • 的税收分类编码
  • 长期投资项目包括哪些
  • 工会经费漏申报去大厅怎么处理
  • 未开发票申报
  • 医院会计制度准则
  • 外管证怎么开票
  • 工程已验收,质量问题怎么解决
  • ai自动生成代码
  • 收取的开票税点放哪个科目
  • 飞机票本身包含保险吗多少钱
  • 出售报废固定资产的净损失计入什么科目
  • 筹备期废品回收怎么做账
  • 出口退免税的基本政策包括
  • 实习生短期意外保险能企业所得税前扣除吗?
  • 王者荣耀中哪吒的图片
  • 如何清除苹果手机6s垃圾
  • 专项贷款损失准备金在一定程度上具有资本的性质
  • layuiadmin动态菜单
  • 贸易公司和生产厂家怎么合作能够双赢
  • 冲账怎么写?
  • vue面试题简书
  • torchaudio教程
  • 计算机视觉基础知识
  • php自带的加密解密函数
  • kill命令用法
  • java异常编程题
  • 顺风车没有发票可以税前扣除吗
  • 进项税转出的金额能加计吗
  • 个人所得税银行卡未实名认证是什么意思
  • 帝国cms怎么增加子栏目
  • 其他应付款的账户结构
  • 其它应收款的处理程序
  • 应收账款收不回来做坏账处理分录
  • 合伙企业要不要每月做账?报税是不是与一般的有限公司一样,每月申报纳税吗?
  • 管理费用处理的是
  • MicrosoftSQLserver2014可以卸载吗
  • mysql视图菜鸟教程
  • 外购商品发放给员工 进项税额能不能抵扣
  • 出差发生的招待费计入差旅费吗
  • 差旅费科目设置
  • 广告费收入如何填写增值税申报表
  • 预付卡充值入什么科目
  • 增值税普票遗失可以补开吗
  • 会计核算和监督两项基本会计职能是相辅相成
  • 福利补贴制度
  • Linux下安装MySQL5.7.19问题小结
  • win7,win8.1,win10命令行配置ip地址图文教程
  • windows2008 2016
  • WINDOWS操作系统最新版本
  • vim如何操作
  • ssh连接虚拟机centos
  • win10快速启动怎么进入bios
  • whagent.exe - whagent是什么进程
  • sgrmbroker.exe是什么进程
  • windowsxp的安装方法
  • win7磁盘管理怎么显示隐藏分区
  • 文件夹windows
  • win10电脑提示
  • msg命令用法
  • python查找字符串中指定字符的个数
  • npm与nodejs
  • javascript里的yield
  • js鼠标点击图片就消失
  • python多进程多线程协程
  • 税务稽查局稽查财务不在场怎么办
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设