ES6新特性--let和const

let和var的区别

  1. let定义的变量是块级的变量。var定义的变量是全局变量或者函数变量
    什么是块级作用域呢,简单来说就是在离它最近的一组{}里面有效出去了就没用了
    举个例子
{
    
     
  let a=10
}
  console.log(a)

这样子是会报错的,但使用var不会

那let相比var有什么优势呢
举个例子:实现一组li标签的点击事件,每次点击时输出li的序列值

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<ul>
  <li>1</li>
  <li>2</li>
  <li>3</li>
  <li>4</li>
  <li>5</li>
</ul>
<script type="text/javascript">
  let array=document.getElementsByTagName("li")
  for(var i=0;i<array.length;i++)
  {
    
    
    array[i].onclick=()=>console.log(i)
  }
</script>
</body>
</html>

看起来似乎没错但每次点击输出的都是5,单只要把变量I的定义var变成let就可以了

const

const可以理解为常量,用来定义不可变的值,工作中尽可能使用const代替let,可以避免命名冲突带来的严重
后果

猜你喜欢

转载自blog.csdn.net/jiwei_1234____5/article/details/106197594