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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数据仓库和数据集市详解:ODS、DW、DWD、DWM、DWS、ADS「建议收藏」

    数据仓库和数据集市详解:ODS、DW、DWD、DWM、DWS、ADS「建议收藏」@TOC数据流向应用示例何为数仓DWDatawarehouse(可简写为DW或者DWH)数据仓库,是在数据库已经大量存在的情况下,它是一整套包括了etl、调度、建模在内的完整的理论体系。数据仓库的方案建设的目的,是为前端查询和分析作为基础,主要应用于OLAP(on-lineAnalyticalProcessing),支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。目前行业比较流行的有:AWSRedshift,Greenplum,Hive等。数据仓库并不是数据的最终目的地

    2022年6月26日
    99
  • C#获取url中参数键值对的方法建议收藏

    方法如下://////遍历Url中的参数列表//////如:(?userName=keleyi&userType=1)publicstringGetUrlParam(){stri

    2021年12月20日
    40
  • vb程序设计基础教程视频_web程序设计二级考试考什么

    vb程序设计基础教程视频_web程序设计二级考试考什么全国计算机等级考试二级vb6.0程序设计视频教程自学编程教学视频2015…

    2022年10月6日
    2
  • 以太坊挖矿回报率_eth挖矿难度曲线

    以太坊挖矿回报率_eth挖矿难度曲线随着时间的推移,全网算力越来越大,挖矿难度越来越高,以太坊挖矿一天收益多少?那么怎么才能提高挖矿收益呢?挖矿的最基本的物理条件就是得有一台运行稳定稳定的矿机,这个不在今天的讨论范围之内。有了一台硬件条件过硬的矿机之后,只要做好一下两点,你就会比别人轻松高出3-5%的收益:第一点:挖矿软件的选择。如果你不想为软件打工的话,一定要选择原版,一定要选择原版、一定要选择原版,重要的事情说三遍。网上的界面版诸如长沙矿工、圣骑士、数字矿工、矿工队长、超级矿工…其实都是在claymore的原版基础上加壳而成,再

    2022年10月15日
    3
  • Set集合和数组转换「建议收藏」

    Set集合和数组转换「建议收藏」publicvoidsetToArray(){Set<String>set=newHashSet<>();//错误!!!!!String[]strsFalse=(String[])set.toArray();for(Stringstr:strsFalse){System.out.println(str);}//正确String[]strsTrue=s…

    2022年6月18日
    32
  • python学习—— IPy 强大的IP地址解析模块

    python学习—— IPy 强大的IP地址解析模块       最近在忙着做计算机网络的课程设计,打算写一个可以扫描内网主机的扫描工具。学习过程中安利到了许多python新姿势,IPy模块就是其中一个。1.IPy模块。       在IP地址规划中,涉及到计算大量的IP地址,包括网段、网络掩码、广播地址、…

    2025年6月23日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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