位置: 编程技术 - 正文

javascript的 {} 语句块详解(javascript的语法在哪一项中规定)

编辑:rootadmin

推荐整理分享javascript的 {} 语句块详解(javascript的语法在哪一项中规定),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:JavaScript的语言前身,JavaScript的语法规范,JavaScript的语句sweep,JavaScript的语法规范,JavaScript的语言前身,JavaScript的语音特点,javascript的语法特点中,javascript的语法特点中,内容如对您有帮助,希望把文章链接给更多的朋友!

今日学习解析json字符串,用到了一个eval()方法,解析字符串的时候为什么需要加上括号呢?摸不着头脑。原来javascript中{}语句块具有二义性,不加括号会出错,理解这种二义性对我们理解javascript代码有极大帮助。

一、{}语句块的两个含义

表示语句块

a. 在javascript中可以使用{}来括起代码,在编辑器中方便管理代码。因为javascript并没有块级作用域,所以这种写法是无害的。

b. 在javascript中 ,条件判断语句,循环语句,函数都需要{}语句块来整合代码

对象字面量

//此时[code]作为表达式,可以赋值给一个变量//其实对象字面量就是可以生成对象值的表达式

二、那如果对象字面量不作为一个赋值表达式,会发生什么情况呢?

javascript的 {} 语句块详解(javascript的语法在哪一项中规定)

example:

由上面可以看出对象字面量只能够作为表达式赋值,第一种写法没有错,只是javascript将它作为一个label语句解析了。

analysis:

三、但是问题又来了……

//这样为什么会报错?这不是对象字面量的写法吗?因为javascript中{}的二义性,{}不仅仅被认为是对象字面量而且还会被认为是代码块。

一个代码块,两条label语句,如果没有逗号,是完全没有问题的,所以关键在于逗号,两条语句的分隔应该使用分号,所以javascript会判定这是语法错误

四、正确的写法

()会把语句转换成表达式,称为语句表达式,对象字面量不是表达式吗?为什么还需要()来转换?

加上括号以后,就可以消除这种二义性,因为括号里的代码都会被转换为表达式求值并且返回,因此语句块也就变成了对象字面量,也可以得出,对象字面量必须作为表达式而存在

Javascript技术栈中的四种依赖注入小结 作为面向对象编程中实现控制反转(InversionofControl,下文称IoC)最常见的技术手段之一,依赖注入(DependencyInjection,下文称DI)可谓在OOP编程中大行其

javascript正则表达式总结 工具Regexpal是一个在线Javascript正则表达式处理器,地址是:

javascript中FOREACH数组方法使用示例 Array.prototype.forEach()方法让数组的每一项都执行一次给定的函数。—MDN假设有这么一个场景,你拿到了这么一个数组[{symbol:"XFX",price:.,volume:},{symbol

标签: javascript的语法在哪一项中规定

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

上一篇:javascript中eval解析JSON字符串(javascript中的eval函数)

下一篇:Javascript技术栈中的四种依赖注入小结(javaweb技术栈是什么)

  • 小规模增值税会计处理流程
  • 科普一下发票知识
  • 主营业务成本借方表示什么意思
  • 个税所得税清缴
  • 建筑设备租赁如何确定租赁期限
  • 报销招待费事由有哪些
  • 个人销售自产农产品 个人所得税
  • 有限合伙企业分红个人所得税
  • 公司没有收入算正常经营吗
  • 拆迁补偿款使用范围
  • 外出施工安装的公司发工资怎么记账?
  • 代扣工资申请怎么写
  • 报关单出口退税联在哪打印
  • 2018增值税暂行条例
  • 材料票可以直接在税务局开吗
  • 四级主任科员是什么级别待遇
  • 成品油生产企业身份归类管理办法
  • 企业在国内采购并运往境外作为投资的货物
  • 公司钱被取走怎么处理
  • win10夜间模式怎么打开不了
  • 新企业几个月没交社保
  • Win11怎么设置开机跳过密码
  • macbook版itunes
  • php实用的案例
  • windows11 beta渠道
  • iis防盗链
  • vue click触发两次
  • 出让土地使用权和转让土地使用权的区别
  • 尚融资本
  • 给客户开的发票,在邮寄过程中丢了怎么办?
  • html扫码功能
  • Vue3【Transition(效果、CSS 过渡、使用animation、TransitionGroup、 KeepAlive、Teleport )】(七)-全面详解(学习总结---从入门到深化)
  • pdca安全管理方法
  • 利用php生成静态数据
  • 销售折让的会计科目
  • 融资租赁视同销售吗
  • mysql建表的完整步骤
  • 换电脑了怎么办
  • 增值税发票品名 归类
  • 工程材料发票备注要求
  • MSSQL2005 INSERT,UPDATE,DELETE 之OUTPUT子句使用实例
  • sqlserver2005使用
  • 购销合同没注明合同有效期
  • 递延所得税资产和负债账务处理
  • 文化事业建设税怎么申报
  • 技术人员工资计入生产成本吗
  • 优惠券会计分录怎么做
  • 应交增值税为什么在借方
  • 销售退回的账务处理会计分录图片
  • 餐饮业可以开具免税发票吗
  • 应付票据与应付账款增长的多的逃税问题
  • 库存商品发出计价测试
  • 在固定资产下的折旧年限
  • 行政单位负债类科目包括
  • 注册资本可以随便填吗
  • 如何恢复数据库数据
  • ROW_NUMBER SQL Server 2005的LIMIT功能实现(ROW_NUMBER()排序函数)
  • sql server in()
  • 硬盘安装64位win8.1/win8或win7操作系统图文教程
  • linux i3桌面
  • win7旗舰版显示器亮度调节
  • xp系统远程桌面怎么设置
  • 远程控制安全
  • win8.1进不了系统
  • js怎么理解
  • CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放
  • hadoop有几个版本
  • Python 装饰器深入理解
  • python从入门到精通
  • androidstudio手机编程软件
  • 并行 python
  • javascript数组的常用方法
  • 基于jQuery和Bootstrap的设计报告的参考文献
  • 江西税务局
  • 中山市十大纳税大户
  • 辽宁省国家税务总局
  • 小微企业企业所得税是多少?
  • 企业完税证明怎么查询打印
  • 主管局长和分管局长谈心谈话
  • 山东国税局官网登录
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设