位置: 编程技术 - 正文

详解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的区别详解

  • 跨年度调整税金及附加
  • 全年一次性奖金税收优惠政策
  • 非税收入票据能否税前扣除
  • 公款私存个人账户怎么处理
  • 销售旧货的增值税税率
  • 企业垃圾处理费计入什么科目
  • 采购货款属于什么会计科目
  • 固定资产月底怎么处理
  • 材料成本和加工费含税吗
  • 提前预支了应得的工资犯法吗
  • 会计人员必备的知识和技能
  • 跨月冲红的发票怎么做账
  • 公司参展费取得发票怎样做账?
  • 在途物资非合理损耗
  • 企业电子印章申请流程海口
  • macbook怎么和ipad
  • 电脑中病毒了怎么重装系统
  • 附加税是按照应交增值税还是已交
  • 补缴配套费
  • kcleaner.exe是什么
  • echarts w3c
  • 已缴税额比应纳税额多
  • 增值税征税范围中的货物包括
  • 增值税发票可以抵扣多少
  • 蟹爪兰的养殖方法和浇水
  • msg0.db是什么文件
  • windows7中可以设置控制计算机
  • 银行贷款成本高
  • 企业收到借款利息收入是否交增值税
  • 税前弥补以前年度亏损分录
  • laravel orm使用
  • 支付中介费和物业费比例
  • 购买固定资产的运费计入什么科目
  • 研发费用资本化计入什么科目
  • 法人如何提取公积金余额
  • 帝国cms真的很好用
  • 公司购买手机的发票
  • 织梦标签理解
  • 个人所得税10月份申报期
  • 微信账单可以用来干嘛
  • 租赁期间因占有、使用租赁物获得的收益
  • 职工福利费相关文件有哪些
  • 资产减值损失科目借方增加还是减少
  • 会计中应收账款属于什么科目
  • 调整事宜
  • 医院工会费是什么
  • 房地产企业抵押借款
  • 公司自建房要交房产税吗
  • 个体工商户记账报税教程
  • 小规模红冲发票收入正数税额负数
  • 红字冲销法可能会涉及的摘要有
  • 公司成本包含什么
  • 建账有哪些步骤,每个步骤有哪些注意事项
  • sqlserver (parse name)字符串截取的方法
  • windows 9x
  • centos云服务器
  • win10系统打不开控制面板
  • ubuntu如何读
  • mac的替换在哪里
  • 在Linux系统中如何打开R语言控制台
  • SCHDPL32.EXE - SCHDPL32是什么进程 有什么用
  • 重装win7系统后没有无线网
  • linux哪些方法可以查看命令的详细信息
  • linux系统的
  • 日亚海淘官网
  • js动态表单
  • Android自定义控件高级进阶与精彩实例
  • linux curl用法
  • 网页设计中css样式有何用途
  • nodejs 性能测试
  • 进入cmd命令
  • jquery遍历dom
  • 常用的截图方法有哪些
  • python自带的gui
  • 国家税务总局会议管理办法
  • 全国企业信用信息系统网官网
  • 党建引领安全宣传美篇幼儿园
  • 电子税务局怎么添加开票员
  • 湖南职工医保哪里交
  • 财税方面的问题有什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设