JavaScript进阶

本文详细探讨了JavaScript中的作用域规则,包括局部作用域和全局作用域,以及作用域链。深入讲解了闭包的概念及其在实际开发中的应用。此外,还介绍了箭头函数的特点,包括其参数处理和this的指向。同时,文章涵盖了深浅拷贝的区别和实现方法,为理解和优化JavaScript代码提供了关键知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录

作用域

在这里插入图片描述

1.局部作用域

1.1 函数作用域

在这里插入图片描述

1.2 块作用域

在这里插入图片描述

2.全局作用域

在这里插入图片描述

3.作用域链

在这里插入图片描述

4.垃圾回收机制

4.1 内存的生命周期

在这里插入图片描述

4.2 引用计数

在这里插入图片描述
在这里插入图片描述

4.3 标记清除法

在这里插入图片描述

5.闭包

在这里插入图片描述

5.1闭包作用

在这里插入图片描述

5.2 闭包应用

在这里插入图片描述
在这里插入图片描述

6.变量提升

在这里插入图片描述

函数进阶

1.函数提升

在这里插入图片描述

2.函数参数

2.1 动态参数

在这里插入图片描述

2.2 剩余参数

在这里插入图片描述
在这里插入图片描述

3 展开运算符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.箭头函数

在这里插入图片描述

4.1 基本语法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.2 箭头函数参数

在这里插入图片描述

4.3 箭头函数this

在这里插入图片描述
在这里插入图片描述

解构赋值

1.数组解构

1.1 基本语法

在这里插入图片描述

1.2 典型应用

在这里插入图片描述

1.3 js前面必须加分号情况

在这里插入图片描述
在这里插入图片描述

1.4 变量多 单元值少的情况

在这里插入图片描述

1.5 利用剩余参数解决变量少 单元值多的情况

在这里插入图片描述

1.6 防止有undefined传递单元值的情况,可以设置默认值

在这里插入图片描述

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

在这里插入图片描述

1.8 支持多维数组的结构

在这里插入图片描述

2.对象解构

2.1 基本语法

在这里插入图片描述

2.2 数组对象解构

在这里插入图片描述

2.3 多级对象解构

在这里插入图片描述

3.遍历数组forEach方法

在这里插入图片描述
在这里插入图片描述

深入对象

1.创建对象三种方式

在这里插入图片描述

2.构造函数

在这里插入图片描述
在这里插入图片描述

2.1 实例化执行过程

在这里插入图片描述

3.实例成员和静态成员

3.1 实例成员

在这里插入图片描述

2.2 静态成员

在这里插入图片描述

内置构造函数

在这里插入图片描述
在这里插入图片描述

1.Object

在这里插入图片描述

1.1 Object.keys

在这里插入图片描述

1.2 Object.values

在这里插入图片描述

1.3 Object.assign

在这里插入图片描述

2.Array

在这里插入图片描述

2.1 数组常见实例方法-核心方法

在这里插入图片描述

2.2 reduce

在这里插入图片描述
在这里插入图片描述

2.3 数组常见方法-其他方法

在这里插入图片描述

3.String

在这里插入图片描述在这里插入图片描述

编程思想

1.面向过程介绍

在这里插入图片描述

2.面向对象编程

在这里插入图片描述
在这里插入图片描述

3.面向过程和面向对象的对比

在这里插入图片描述

构造函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

原型

在这里插入图片描述
在这里插入图片描述

1.原型-this指向

在这里插入图片描述

2.constructor属性

在这里插入图片描述
在这里插入图片描述

3.对象原型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.原型继承

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.原型链

在这里插入图片描述
在这里插入图片描述

深浅拷贝

1.浅拷贝

1.直接赋值的问题

在这里插入图片描述

1.2 浅拷贝常见方法

在这里插入图片描述

1.3 存在的问题

在这里插入图片描述
在这里插入图片描述

2.深拷贝

在这里插入图片描述

2.1 通过递归实现深拷贝

在这里插入图片描述
在这里插入图片描述

2.2 利用lodash和JSON实现深拷贝

在这里插入图片描述

2.3 通过JSON.stringify()实现

在这里插入图片描述
在这里插入图片描述

异常处理

1.throw抛异常

在这里插入图片描述

2.try/catch捕获错误信息

在这里插入图片描述

3.debugger

在这里插入图片描述

处理this

1.this指向

1.1 普通函数

在这里插入图片描述

1.2 箭头函数

在这里插入图片描述
在这里插入图片描述

2.改变this

在这里插入图片描述

3.1 call()

在这里插入图片描述

3.2 apply()

在这里插入图片描述

3.3 bind()

在这里插入图片描述
在这里插入图片描述

4.防抖

在这里插入图片描述

5.节流

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值