🚗个人主页:最好的人啊
🚌系列专栏:HTML/CSS
🚐推荐一款模拟面试、刷题神奇、从基础到大厂的面试题库,要想走上人生巅峰迎娶白富美赶快点击这个网站⚡不要犹豫,白富美在向你招手,快来注册吧!
目录
第一章:ES6语法
1,let
概念:let声明的变量只在所处于的块级有效。
代码演示:
if(true){
let str = '123456'
console.log('块级'+str);//123456
}
console.log('全局'+str);//在全局的作用域下找不到,报错
解释:let块级作用域下,在作用域{}里面的区块
在全局的作用域下找不到会报错
2. let不存在变量提升
var 变量 可以在变量声明前使用,多少有点奇怪,为了纠正这个现象,let改变了这个语法。
console.log(i);//报错Cannot access 'i' before initialization
let i=1;
console.log(i);// 1
解释:var声明的变量会在作用域内变量提升,但赋值不会提升,所以是undefined。而let的声明的变量不会提升,所以抛出语法错误。
3.'暂时性死区':
用let声明的变量需要先声明后再使用
var i = 1;
if (true) {
i = 1;
let i = 3;
}//报错 需先声明后使用
在代码块内,使用let命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死区”。该变量在声明之前使用都属于“暂时性死区“
4.变量声明规则
不允许在同一个块区重复声明一个变量
let a =2;
let a=4;//重复声明了 报错
5.let小案例
let arr = [];
for (let i = 0; i < 3; i++) {
arr[i] = function () {
console.log(i);
}
}
arr[0]();
arr[1]();