- let 的作用域在最近的{}之間
- 如果你在let a 之前使用a,那么報錯
- 如果你重復(fù)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 次循環(huán)戴差,就會有 5 個不同的 i外厂,console.log 出來的 i 當(dāng)然也是不同的值俭嘁。
再加上隱藏作用域里的 i诬垂,一共有 6 個 i篮奄。
const
1.2.3同上
- 只有一次賦值機會,而且必須在聲明的時候立馬賦值
「創(chuàng)建霹肝、初始化和賦值」過程