博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ES6中声明变量 let和const特点
阅读量:5039 次
发布时间:2019-06-12

本文共 897 字,大约阅读时间需要 2 分钟。

在ES6中我们有两种定义变量的方式:let    const

      let特点:

            1.let定义时不会进行变量声明提升

            2.变量不允许被重复定义

            3.变量不可以被删除

            4.在for循环当中用let定义i 循环时可以保存 i 的值

            5.在块级元素中用let定义的变量只能在当前块级作用域中使用(注:凡是用{}包裹的都是块级作用域,但是除了对象以外

 

  
const特点:(声明常量或者不可被修改的变量)
             1.
const声明的变量值不允许被修改
        2.不会进行变量声明提升
             3.常量不允许被删除

 

       对let第四个特点给大家举个小栗子

       若body标签里面有五个button

         <button>按钮1</button>
         <button>按钮2</button>
         <button>按钮3</button>
         <button>按钮4</button>
        <button>按钮5</button>
  script标签里面我们来个标签绑定一个小事件
        <script>
        var btnArr = document.getElementsByTagName("button");
        for (let i = 0; i < btnArr.length; i++) {
             btnArr[i].onclick = function(){
                 console.log(i);
             }
        }
  
用let定义 i 时点击不同的按钮时,打印的是每个按钮对应i
      
    var btnArr = document.getElementsByTagName("button");
        for (var i = 0; i < btnArr.length; i++) {
             btnArr[i].onclick = function(){
                 console.log(i);
             }
        }
  用var定义 i 时点击不同的按钮时,每个按钮打印的都是 5(即循环后 i 的值,因为事件时异步执行的,但是for循环不会等待异步事件)
</script>
 
 
 

    

转载于:https://www.cnblogs.com/suihang/p/9519427.html

你可能感兴趣的文章
C#:System.Array简单使用
查看>>
C#inSSIDer强大的wifi无线热点信号扫描器源码
查看>>
「Foundation」集合
查看>>
算法时间复杂度
查看>>
二叉树的遍历 - 数据结构和算法46
查看>>
类模板 - C++快速入门45
查看>>
[转载]JDK的动态代理深入解析(Proxy,InvocationHandler)
查看>>
centos7 搭建vsftp服务器
查看>>
RijndaelManaged 加密
查看>>
Android 音量调节
查看>>
HTML&CSS基础学习笔记1.28-给网页添加一个css样式
查看>>
windows上面链接使用linux上面的docker daemon
查看>>
Redis事务
查看>>
Web框架和Django基础
查看>>
python中的逻辑操作符
查看>>
CSS兼容性常见问题总结
查看>>
HDU 1548 A strange lift (Dijkstra)
查看>>
每天一个小程序—0005题(批量处理图片大小)
查看>>
C# 启动进程和杀死进程
查看>>
tcp实现交互
查看>>