js笔记ES6相关笔记

本文介绍了JavaScript中的作用域类型,如函数作用域和块作用域,以及全局作用域的概念。作用域链是变量查找的机制,而变量提升涉及到var声明的特殊情况。垃圾回收主要关注内存的生命周期和管理,尤其是局部变量的自动回收。闭包则是一个函数能访问并引用其外部作用域变量的能力,是JavaScript中重要的概念。
摘要由CSDN通过智能技术生成

一、作用域和作用域链、变量提升、垃圾回收、闭包
1.局部作用域
1.1函数作用域
在函数内部声明的变量只能在函数内部被访问,外部无法直接访问
函数的参也是函数内部的局部变量
不同的函数内部声明的变量无法互相访问
函数执行完毕后,函数内部的变量实际被清空了
1.2块作用域
只要被{}包括的都是块级作用域for循环、function(){}、if判断等等
在块级作用域声明的变量除了使用var声明的变量都不可以在外部声明
let和const声明的都是块级作用域
2.全局作用域
全局可以访问的变量,逐渐减少使用全局作用域
3.作用域链
本质就是底层的变量查找机制
在函数被执行的时候会优先查找当前函数作用域中查找作用域中查找
当前作用域查找不到就会一次逐级查找上一级作用域直到全局作用域 就近原则冒泡机制
父级作用域是不可以访问子级作用域,当然使用var声明时会存在变量提升
4.垃圾回收
生命周期:内存分配、内存使用、内存回收
全局变量一般不会回收,关闭页面的时候回收
局部变量的值一般当函数执行完或者不用了,就会被自动回收掉
内存泄漏:分配的内存由于某种原因程序未释放或无法释放叫做内存泄漏
5.闭包
一个函数的内部函数可以访问到外部函数的作用域就是闭包,外部函数的作用域内的变量被
内部的函数使用(引用)着就是闭包 闭包=函数+变量
举例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值