2019-06-21 let和const

2019-06-21  本文已影响0人  追夢的蚂蚁
  1. let 的作用域在最近的{}之间
  2. 如果你在let a 之前使用a,那么报错
  3. 如果你重复let a , 那么报错
// 代码段1
var liList = document.querySelectorAll('li') // 共5个li
for( var i=0; i<liList.length; i++){
  liList[i].onclick = function(){
    console.log(i)
  }
}

此时依次点击li会打印出5个5,如果把var i 改成 let i, 就会分别打印出0,1,2,3,4

// 代码段2
var liList = document.querySelectorAll('li') // 共5个li
for( let i=0; i<liList.length; i++){
  liList[i].onclick = function(){
    console.log(i)
  }
}
// 代码段3
var liList = document.querySelectorAll('li') // 共5个li
for( let i=0; i<liList.length; i++){
  let i = 隐藏作用域中的i // 看这里看这里看这里
  liList[i].onclick = function(){
    console.log(i)
  }
}

那样的话,5 次循环,就会有 5 个不同的 i,console.log 出来的 i 当然也是不同的值。

再加上隐藏作用域里的 i,一共有 6 个 i。

const
1.2.3同上

  1. 只有一次赋值机会,而且必须在声明的时候立马赋值
「创建、初始化和赋值」过程

摘自---

上一篇 下一篇

猜你喜欢

热点阅读