作用域及变量提升

本文介绍了JavaScript中的作用域概念,包括全局作用域、函数作用域和块级作用域,强调了ES6引入的块级作用域特性以及变量提升现象。通过作用域链机制,JavaScript在查找变量时的行为得以解释。

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

作用域简单来说就是变量生效的范围,可以分为:全局作用域、函数作用域、块级作用域

全局作用域

声明在全局作用域的变量,全局范围内都可以读写

函数作用域

函数内部的变量具有函数作用域,只可以在函数内部进行读写

块级作用域

ES6新规定的let和const声明的变量具有块级作用域,因此其存在暂时性死区,不存在变量提升

作用域链

当需要访问一个变量时,会现在自身的作用域内查找,如果找不到,会逐级向上进行查找,最高找到全局作用域,形成作用域链

变量提升

JS代码的预解析阶段会发生变量提升,会将var和function提升至最前端,并且function的优先级高于var

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值