小三玖のblog

知晓天空之蓝的人啊

es-闭包

闭包(内层函数+外层函数变量)

举个例子

function outer(){
	let i = 1
	function fn(){
		console.log(i)
	}
	return fn
}
const fun = outer()
fun()

fun()这个函数可以读取到outer()中的变量

es-JS垃圾回收机制

1、什么是js的回收机制

  • 垃圾回收机制的原理是找到不再继续使用的变量,释放其内存。垃圾回收器会按照固定的时间间隔(或代码中预定的收集时间),周期性地执行这一操作;
  • Javascript 会找出不再使用的变量,不再使用意味着这个变量生命周期的结束。Javascript 中存在两种变量——全局变量和局部变量,全部变量的声明周期会一直持续,直到页面卸载;
  • 而局部变量声明在函数中,它的声明周期从执行函数开始,直到函数执行结束。在这个过程中,局部变量会在堆或栈上被分配相应的空间以存储它们的值,函数执行结束,这些局部变量也不再被使用,它们所占用的空间也就被释放;
  • 垃圾回收的两种实现方式:标记清除、引用计数
es-作用域

作用域

var声明一个全局变量

let和const声明一个局部变量,其中const声明的变量无法重新赋值

局部作用域中变量不会被外界影响,分函数作用域和块作用域

12