JavaScript 高阶 | 作用域&解构&箭头函数

目录

1 作用域

1.1 局部作用域

1.2 全局作用域

1.3 作用域链

1.4 JS垃圾回收机制

1.4.1 什么是垃圾回收机制?

1.4.2 内存的生命周期

1.2.3 垃圾回收算法说明

1.5 闭包

 1.6 变量提升

2 函数进阶

2.1 函数提升

2.2 函数参数

2.2.1 动态参数

2.2.2 剩余参数

补充:展开运算符

2.3 箭头函数(重要)

2.3.1 语法

2.3.2 箭头函数参数

2.3.3  箭头函数 this

3  解构赋值

3.1 数组解构 

3.2 对象解构

3.2.1 基本语法

3.2.2 给新的变量名赋值

3.2.3 数组对象解构

3.2.4 多级对象解构

5 案例

5.1 渲染商品列表案例

5.2 案例 商品列表价格筛选(-1)


1 作用域

作用域(scope)规定了变量能够被访问的“范围”,离开了这个“范围”变量便不能被访问,

作用域分为:  局部作用域  全局作用域

1.1 局部作用域

局部作用域分为函数作用域和块作用域。[注意观察区分]

1.1.1 函数作用域:

在函数内部声明的变量只能在函数内部被访问,外部无法直接访问。

JavaScript 高阶 | 作用域&解构&箭头函数_第1张图片

 总结:

1. 函数内部声明的变量,在函数外部无法被访问

2. 函数的参数也是函数内部的局部变量

3. 不同函数内部声明的变量无法互相访问

4. 函数执行完毕后,函数内部的变量实际被清空了

1.1.2 块作用域

在 JavaScript 中使用 { } 包裹的代码称为代码块,代码块内部声明的变量外部将【有可能】无法被访问。如if,for,switch,while中

JavaScript 高阶 | 作用域&解构&箭头函数_第2张图片

 总结:

1. let ,const 声明的变量会产生块作用域

2. var 不会产生块作用域        [推荐使用 let 或 const]

3. 不同代码块之间的变量无法互相访问

注:对象没有作用域

1.2 全局作用域

你可能感兴趣的:(JS,JS高阶,前端,前端,javascript)