ES6中变量let的属性以及在for循环中的使用

ES6中变量let的属性以及在for循环中的使用

大家好,又见面了,我是你们的朋友全栈君。

let和var的差别

1、let没有变量提升,申明变量的同时必须对变量赋值

2、let不允许重复申明变量

3、let的作用域是块级作用域,这一点在for循环中可以提现

<ul id=”ul1″>
  <li class=”li”>1</li>
  <li class=”li”>2</li>
  <li class=”li”>3</li>
  <li class=”li”>4</li>
</ul>

<script>

window.onload = function () {

  var app = document.getElementsByClassName(‘li’);

  // for循环变量输出
  // for (var i = 0; i < app.length; i++) {

    // // 在for循环里绑定的事件要等循环结束后才会执行
    // app[i].onclick = function () {

    // console.log(i)
    // };
  // }
  // // 第一个循环这里点击输出的都是4

  // // 第一个for循环拆解后就是下面这个for循环
    // for (var i = 0; i < app.length; i++) {
      // var ss = function () {

        // console.log(i)
      // };
    // }
  // // 在for循环运行结束后再执行点击事件,调用ss函数,此时变量i的值当然是4
  // app[0].onclick = ss
  // app[1].onclick = ss
  // app[2].onclick = ss
  // app[3].onclick = ss

 

  // let申明的变量只在块级作用域{}中,所以在for循环外调用会报undefined
  // for (let i = 0; i < app.length; i++) {
    // let ss = function () {

      // console.log(i)
    // };
  // }
  // // 在for循环运行结束调用ss报错
  // app[0].onclick = ss
  // app[1].onclick = ss
  // app[2].onclick = ss
  // app[3].onclick = ss

  // 使用let变量可以直接在for循环变量输出i
  for (let i = 0; i < app.length; i++) {

    app[i].onclick = function () {

      console.log(i)
    };
  }
}

  

</script>

转载于:https://www.cnblogs.com/webwangjie/p/9370763.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/107400.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 大一下学期微积分期末预习(3):定积分的应用-求旋转体的体积

    大一下学期微积分期末预习(3):定积分的应用-求旋转体的体积下面这个是柱壳法,不是注,别问,问就是字写错了。

  • 微信服务号怎么发送消息(服务号一个月只能发4次,怎么改)

    查找了微信开发文档和一些博客后发现了解决方案。使用微信服务号的模板消息接口文档地址: https://mp.weixin.qq.com/wiki?t=resource/res_main&amp;id=mp1433751277 网上还有另外一个解决方式:客服功能但是这个方法有个很大的缺点,就是只有用户和服务号交互的48小时内,服务号才能向用户主动发送消息,超过48小时后,…

  • javaweb酒店管理系统设计与实现_java餐饮管理系统源码

    javaweb酒店管理系统设计与实现_java餐饮管理系统源码前言学习java这段时间以来,给我的感觉是非常枯燥和乏味的,因为学习编程这个过程就是这样,除此之外我是自学,所以遇到问题只能自己上网找资料,或者看一些大佬的文章来解决问题。不过学习过程中让我接触到了这样一个非常有趣的项目:酒店管理系统的小型项目,实现了一些功能,废话不多说看题目。题目为某个酒店编写程序:酒店管理系统,模拟订房、退房、打印所有房间状态等功能要求:该系统的用户是:酒店前台。 酒店使用一个二维数组来模拟。“Room[][]room;”…

  • 摄像头模组 PDAF对焦(Phase Detection Auto Focus)

    摄像头模组 PDAF对焦(Phase Detection Auto Focus)http://blog.csdn.net/sylorchen/article/details/54618912本文主要是最近看的两个文档的总结,相对零散的笔记,包括《imx298softwarereferencePDAF》与《PDAFTruly》。1、PDAF功能的实现需要使用到shieldpixel的概念,包括right-half-shield与left-half-

  • linux编辑文件命令vim怎么退出_vim退出不保存的命令

    linux编辑文件命令vim怎么退出_vim退出不保存的命令Linux(Ubuntu)vim编辑器保存退出命令进入vim编辑器,输入i进入编辑状态按esc退出编辑常用的保存退出命令如下:1、:w(保存编辑的文件内容,但不退出vim编辑器)2、:w!(强制写文件,即覆盖原有的文件,如果原有文件的访问权限不允许写入文件,例如,原有的文件为只读文件,则可使用这个命令强制写入)3、:q(未做任何编辑,无需保存文件,直接退出vim编辑器)4、:q!(强制退出vim编辑器,适用于已写入内容但不需要保存放弃该内容时)5、:wq(保存编辑的文件并退出vim编辑器

  • 大白菜运行ghost备份恢复工具_大白菜备份的系统被隐藏了

    大白菜运行ghost备份恢复工具_大白菜备份的系统被隐藏了不是经常换系统,容易换机,简单记录下先在u盘做一个系统,我用的大白菜电脑启动的时候进入u盘系统根据自己电脑型号查询如果启动的时候可以选择启动菜单是最方面的,直接通过启动菜单启动u盘系统如果启动的时候没有启动菜单,需要去bios里面调整顺序进入大白菜系统后,我选择的ghost备份还原…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号