let相对于var的优点

    科技2024-01-18  99

    let用来声明变量,类似于var,但是所声明的变量,只在let命令所在的代码块内有效 特点: 1)存在块级作用域 2)不存在声明提升(考虑暂时性死区) 3)不允许重复声明(包括普通变量和函数参数) 现在实现一个效果是点击得到对应的索引 用var来实现效果代码如下:

    <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> </ul> <script type="text/javascript"> var oLis=document.querySelectorAll('li') for (var i = 0; i < oLis.length; i++) { oLis[i].index=i oLis[i].onclick=function(){ console.log(this.index) } } </script>

    利用let关键字

    <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> </ul> <script type="text/javascript"> var oLis=document.querySelectorAll('li') for (let i = 0; i < oLis.length; i++) { // oLis[i].index=i oLis[i].onclick=function(){ console.log(i) } } </script>

    let提供的是块级作用域,所以无需再声明index

    Processed: 0.019, SQL: 8