位置: 编程技术 - 正文

浅析四种常见的Javascript声明循环变量的书写方式(简述常用)

编辑:rootadmin

推荐整理分享浅析四种常见的Javascript声明循环变量的书写方式(简述常用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:四种类型,简述常用,浅析四种常见的文献,常见的几种,浅析四种常见的文献,浅析四种常见的文献,常见的几种,最常见的四种类型是,内容如对您有帮助,希望把文章链接给更多的朋友!

Javascript中的循环变量声明,到底应该放在哪儿?

习惯1:不声明直接使用

浅析四种常见的Javascript声明循环变量的书写方式(简述常用)

非常危险的使用习惯,一般情况下循环变量将成为window对象上的一个属性被全局使用,极有可能影响程序的正常逻辑实现。 需要着重提一下的是,在strict模式下,未声明变量而直接赋值的使用方式会直接抛出异常,早就该这么做啦!引用一下ecma-标准附录C中的一段话:"Assignment to an undeclared identifier or otherwise unresolvable reference does not create a property in the global object. When a simple assignment occurs within strict mode code, its LeftHandSide must not evaluate to an unresolvable Reference. If it does a ReferenceError exception is thrown (6.2.3.2)."换言之,如果再使用未经声明的变量的话,ReferenceError异常会被抛出。

习惯2:放在for循环初始语句块中并反复声明

这种方式看似最安全规范,很多从C和Java转到前端开发的同学都偏爱这样的写法,事实上,这也许是由于对Javascript中一个重要概念有所 误解造成的——变量作用域。不同于C和Java,Javascript并不具备真正的块级作用域,也就是说,在第一个循环结束之 后,console.log(i)并不会打印undefined或者抛出ReferenceError异常,而是会正常打印出arr.length。当然,这样的写法虽然除了美观以外意义不大,但是长久以来兼容性良好且没有违反任何规范——ecma标准中并没有禁止在某一个作用域内对于同一变量的重复声明。

习惯3:在函数顶部和其他变量一起集中定义

这种c-like式的变量定义方式在Javascript中几乎无可挑剔,既不会造成Javascript支持块级作用域的误解,又不会污染全 局scope,还不违反任何标准和规范,主要缺点就是循环变量的声明和循环体可能会隔开比较远。在不借助更多代码的前提下,除了等待各大主流浏览器厂商实现ECMAScript 6中的let关键字以外,这个问题似乎找不到更好的解决方案。

习惯4:将循环代码封装到IIFE中

最后一种习惯是前端程序员们熟悉的IIFE(Immediately-Invoked Function Expression),即立即执行函数。此种方法的主要缺点是书写相对麻烦,且有多余的性能损耗(很小),但在兼容性、对各标准规范的遵循上表现良好。 如果不嫌麻烦,开发者可以采取这种方式。

标签: 简述常用

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

上一篇:基于js 字符串indexof与search方法的区别(详解)(js字符串includes)

下一篇:Javascript中的数据类型之旅(javascript中的数组可以存放任何类型的数据)

  • 彩票税率税率
  • 增值税的视同销售行为有哪些
  • 金税四期怎么监控银行流水
  • 个税哪种申报方式计税最好
  • 发票丢了还能再开么
  • 100%直接控制的母子公司间划转股权或资产
  • 出口货物退货需要退税吗
  • 公积金是上个月的还是本月的
  • 增值税加计扣除账务处理
  • 开具红字增值税专用发票的条件
  • 机动车发票申请流程
  • 在建工程转什么
  • 融资发票是什么
  • 基本电费等于
  • 不动产进项税额抵扣最新通知2023
  • 购进固定资产抵扣时咋填报增值税
  • 政府回收土地要交土地增值税吗
  • 小微企业免征增值税条件
  • 快递公司税收优惠
  • 利润表所得税费用怎么填
  • 优先股份转让权
  • 公司资产重组流程
  • 资金印花税
  • 影响固定资产折旧的有
  • 残疾人名下有房产可以申请残疾人补贴吗?
  • linux虚拟机怎么输入中文
  • 发放股票股利的会计分录怎么写
  • 外账的结转成本是什么
  • 商标转让过程中公司转让
  • 解决问题
  • 销售发票重复开,库存商品怎么处理?
  • 内置天线手机
  • 静电现象什么意思
  • 代扣增值税如何做账
  • 未认证用户是什么意思
  • 公允价值变动损益借贷方向增减
  • 应付账款重分类含不含暂估
  • javascript零基础入门书籍
  • docker部署架构图
  • vue加载时如何避免出现代码
  • 外币存款利息税
  • 公允价值变动损益属于什么科目
  • 什么是代缴代扣
  • 生产企业免抵退红字冲减
  • 为什么实收资本是贷方
  • 企业的留存收益有
  • 小企业会计准则适用于哪些企业
  • 政府会计制度收回多发工资
  • 已确认收入但尚未发出商品分录
  • 税前弥补以前年度亏损
  • 发票已认证次月退回
  • 从事股权投资业务的企业业务招待费
  • 以公允价值计量的金融资产
  • 冲减上年度多计提所得税
  • 缴纳以前年度税金怎么做账
  • 什么情况下可以安排待岗
  • 单位员工购买本地保险
  • 建筑企业营改增之前计税方法
  • win8.1无法连接无线网
  • ubuntu 12.04使用QQ截图安装教程
  • mac10.10.5无法升级
  • 怎么设置开机启动项?
  • linuxzen
  • centos 安装chia
  • 教程:如何在Win10 PC上玩Pokémon Go游戏
  • 检查linux是否安装了,可用哪些命令
  • 关于我和鬼变成家人的那件事
  • opengl教程48讲
  • unity g
  • unity3d怎么写代码
  • nodejs实现登录功能
  • unity常用代码
  • powershell实战指南
  • unity3d有什么用
  • jquery 画图
  • js中倒计时器怎么实现
  • 一般纳税人出售房产怎么开票
  • 增值税进项转出补企业所得税
  • 成都税务局网站首页
  • 各种税费申报日期
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设