JS 进阶学习(面试常问)

目录

一、作用域

1.1 函数作用域

1.2 块级作用域

1.3 全局作用域

二、作用域链

三、垃圾回收机制

3.1 引用计数法

3.2 标记清除法(常用)

四、闭包

五、变量提升

六、函数进阶

6.1 函数提升

6.2 函数参数

6.3 拓展:展开运算符...

七、箭头函数

7.1 基本语法

7.2 箭头函数参数

7.3 箭头函数 this 指向

八、解构赋值

8.1 数组解构

8.2 对象结构

九 、forEach 方法

十、构造函数

10.1 new 实例化执行的过程

10.2 实例成员和静态成员

10.3 内置构造函数

十一、面向对象

10.1 编程思想

10.2 构造函数

10.3 原型对象prototype

 10.4 constructor 属性

10.5 _proto_对象原型

10.6 原型继承

10.7 原型链

十一、浅拷贝

十二、深拷贝

十三、异常处理

13.1 throw 抛出异常

13.2 try/ catch 捕获异常

十四、处理this

14.1 this指向

14.2 改变this

十五、性能处理

15.1 防抖 debounce

 15.2 节流 throttle


一、作用域

含义:作用域就是规定变量可用被访问的范围

作用域分为局部作用域和全局作用域,局部作用域分函数作用域和块级作用域

1.1 函数作用域

  • 变量只能在内部使用,外部不能使用
  • 函数的参数也是内部的局部变量
  • 不同函数内部变量不能相互访问
  • 函数执行完后,内部变量实际被清空(垃圾回收机制)

1.2 块级作用域

  • 在 { } 包含的就是块级作用域
  • 代码块内部声明的变量外部将有可能被访问
  • let 、const 声明的变量会产生块级作用域,var不会产生块级作用域
  • 不同块级作用域之间的变量无法相互访问

1.3 全局作用域

含义:

你可能感兴趣的:(JavaScript,javascript,前端,java)