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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 降温软件是如何实现降温的?

    降温软件是如何实现降温的?前言 一般电脑发热后 我们就听到了风扇呼呼的声音 这个是电脑的物理散热的机制 除了物理降温 我们当然还有软件降温 而软件降温就和 CPU 有关了 常见的电脑降温软件有 鲁大师呀 驱动精灵这类的 那么我们就一起来探索这些降温软件是如何实现降温的吧 一 CPU 运行原理如果要探究降温软件是如何减少 CPU 能耗来降温的 那么我们应该要了解一些 CPU 工作的原理 当我们启动电

    2025年9月7日
    4
  • android一个弹出菜单的动画(二)「建议收藏」

    android一个弹出菜单的动画(二)

    2022年1月26日
    193
  • 公网IP和内网IP的区别[通俗易懂]

    公网IP和内网IP的区别[通俗易懂]最近在学习shell反弹这块的时候,在向源主机发送报文的时候,由于不了解公网IP和内网IP的区别,导致在监听端口这块一直没有捕获到信息,后来才知道是因为我用的公司的局域网是192开头的,属于内网,因此只能在内部进行通信,而不能与其他网络互连。因为本网络中的保留地址同样也可能被其他网络使用,如果进行网络互连,那么寻找路由时就会因为地址的不唯一而出现问题。因此总结下内网和公网的区别。内网,一般来说,也就是局域网,我们可以把局域网理解成一个小家庭,然后给我们每个家庭的成员都编上号,比如张三是192.168.1.

    2022年4月27日
    56
  • 《数据结构》— 数据结构图文解析系列

    《数据结构》— 数据结构图文解析系列查看原文点击链接即可0.数据结构图文解析系列数据结构系列文章 数据结构图文解析之:数组、单链表、双链表介绍及C++模板实现 数据结构图文解析之:栈的简介及C++模板实现 数据结构图文解析之:队列详解与C++模板实现 数据结构图文解析之:树的简介及二叉排序树C++模板实现. 数据结构图文解析之:AVL树详解及C++模板实现 数据结构图文解析之:二叉堆详解及C++模板…

    2022年6月28日
    28
  • html超链接样式顺序,CSS页面布局常用知识汇总(超链接样式)

    html超链接样式顺序,CSS页面布局常用知识汇总(超链接样式)CSS中的知识非常多,我们不可能全都记得住。闲暇时整理了一些CSS页面布局的常用知识,这篇文章就和大家分享一下CSS超链接样式的常用知识。需要的朋友可以参考一下,希望可以帮助到你。设计网页时,我们可以通过伪类对链接的样式进行控制,引导用户浏览网页,增加互动的丰富元素。1、链接的属性超链接的标签为,网页上的超链接一般用来链接文字或者图片。超链接有4个伪类,分别代表链接的不同状态。a:link(超链…

    2022年7月19日
    32
  • Linux 5nd Day

    Linux 5nd Day

    2021年8月7日
    54

发表回复

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

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