JavaScript笔记进阶篇01——作用域、箭头函数、解构赋值

黑马程序员视频地址:

黑马程序员前端JavaScript入门到精通全套视频教程https://www.bilibili.com/video/BV1Y84y1L7Nn?vd_source=0a2d366696f87e241adc64419bf12cab&spm_id_from=333.788.videopod.episodes&p=152

目录

作用域

局部作用域

函数作用域

块作用域

全局作用域

作用域链

JS垃圾回收机制

什么是垃圾回收机制?

内存的生命周期

拓展------算法说明

引用计数法

标记清除法

闭包

基本格式

闭包的应用

变量提升

函数进阶

函数提升

函数参数

[动态参数 argument](#动态参数 argument)

剩余参数

展开运算符

应用

与剩余参数区分

箭头函数

基本写法

写法一:基本写法

写法二:只有一个参数时,小括号可以省略

[写法三:如果函数体只有一行代码,可以写到一行上,并且无需写 return 直接返回值](#写法三:如果函数体只有一行代码,可以写到一行上,并且无需写 return 直接返回值)

写法四:加括号的函数体返回对象字面量表达式

箭头函数参数

箭头函数this

解构赋值

数组解构

基本语法

分号的添加

变量多,值少

防止有undefined,设置默认值

变量少,值多

利用剩余参数解决

按需导入,忽略某些返回值

支持多维数组的结构

对象解构

基本语法

给新的变量名赋值

数组对象解构

多级对象解构

[遍历数组 forEach 方法(重点)](#遍历数组 forEach 方法(重点))

[筛选数组 filter 方法(重点)](#筛选数组 filter 方法(重点))


作用域

局部作用域

函数作用域


块作用域


全局作用域


作用域链


JS垃圾回收机制

什么是垃圾回收机制?


内存的生命周期


拓展------算法说明


引用计数法

标记清除法


闭包


基本格式


闭包的应用

每个变量内部的值是独立计算的,即fun_a和fun_b内部的 i 值各自单独计算


变量提升


函数进阶

函数提升


函数参数


动态参数 argument


剩余参数


展开运算符


应用

与剩余参数区分

箭头函数


基本写法

写法一:基本写法

写法二:只有一个参数时,小括号可以省略

写法三:如果函数体只有一行代码,可以写到一行上,并且无需写 return 直接返回值

写法四:加括号的函数体返回对象字面量表达式

因为对象与箭头函数都是大括号,因此要在对象的大括号外面加个小括号


箭头函数参数


箭头函数this


解构赋值


数组解构

基本语法


分号的添加


变量多,值少


防止有undefined,设置默认值

变量少,值多


利用剩余参数解决

按需导入,忽略某些返回值


支持多维数组的结构


对象解构

基本语法


给新的变量名赋值


数组对象解构


多级对象解构


遍历数组 forEach 方法(重点)


筛选数组 filter 方法(重点)

相关推荐
Never_Satisfied1 小时前
在JavaScript / HTML中,line-height是一个CSS属性
javascript·css·html
用户916357440951 小时前
LeetCode热题100——15.三数之和
javascript·算法
skykun1 小时前
都2026年了还在说闭包吗?
javascript
Cathy Bryant1 小时前
球极平面投影
经验分享·笔记·数学建模
饮水机战神1 小时前
小程序被下架后,我连夜加了个 "安全接口"
前端·javascript
柯南二号2 小时前
【大前端】 TypeScript vs JavaScript:全面对比与实践指南
前端·javascript·typescript
Larry_Yanan2 小时前
QML学习笔记(三十一)QML的Flow定位器
java·前端·javascript·笔记·qt·学习·ui
The_Killer.2 小时前
近世代数(抽象代数)详细笔记--环(也有域的相关内容)
笔记·学习·抽象代数·
拉不动的猪3 小时前
从底层逻辑和实用性来分析ref中的值为什么不能直接引用
前端·javascript·面试
Larry_Yanan3 小时前
QML学习笔记(三十)QML的布局器(Layouts)
c++·笔记·qt·学习·ui