2. Var에는 블록 수준 범위가 없지만 let에는 있습니다 (블록 수준 범위에는 {} 조건부 루프 등이 포함됩니다.)
3. let에 대한 변수 승격이 없습니다. 즉, 사용하기 전에 위치에 관계없이 코드에서 변수 선언을 찾습니다.
4. 범위 체인에 영향을주지 않습니다.
<script>
{
let name="paopao";
function say(){
console.log(name);
}
say();
}
</script>
5. 예 : 색상 전환
<script>
let items = document.getElementsByClassName('item');
for (var i = 0; i < items.length; i++) {
items[i].onclick = function () {
this.style.background = 'pink';
}//用this不要紧,但是发现用items[i]会报错,因为var是全局的,但是用let就可以
for (let i = 0; i < items.length; i++) {
items[i].onclick = function () {
items[i].style.background = 'pink';
}
}
</script>
const
1. 몇 가지 참고 사항 :
상수를 정의 할 때 초기 값을 지정해야합니다.
블록 범위
배열 및 객체 요소가 수정되지 않고 상수 수정이보고되지 않습니다 ( 即数组本身和数组内容的改变,内容可以变,常量指向地址不能变).