首页 > 其他 > 详细

11. ES6 语法 - var 和 let 的区别

时间:2021-06-30 21:07:10      阅读:31      评论:0      收藏:0      [点我收藏+]

var 和 let 的区别

因为ES5之前 除了 函数方法 其他的都和是没有 作用域 概念的 下面给你来个例子:

<div>
    <button>1</button>
    <button>2</button>
    <button>3</button>
    <button>4</button>
    <button>5</button>
</div>

<script>
    var ele = document.getElementsByTagName("button");
    for (var i = 0 ; i < ele.length;i++ ){
        ele[i].addEventListener(click,function (){
            console.log(你点击了第 + i + 个 按钮);
        })
    }
</script>

 

无论你点击那个 控制台都是 点击了 第5个按钮。为什么呢 这就是作用域的问题了。

你尝试换成 let :

<script>
    var ele = document.getElementsByTagName("button");
    for (let i = 0 ; i < ele.length;i++ ){
        ele[i].addEventListener(click,function (){
            console.log(你点击了第 + i + 个 按钮);
        })
    }
</script>

 

这个错误就完美解决了。

至于为什么 那就是 作用域的问题了。

 

多说没用 多实践你就知道 var 他的缺陷了 ,他的作用域是全范围的,可以当做全局作用域了,除了名冲突 不然他的作用域是最Big的.

 

11. ES6 语法 - var 和 let 的区别

原文:https://www.cnblogs.com/bi-hu/p/14955355.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!