js作用域以及作用域链

作用域决定了变量在何处可以被访问,全局作用域的变量在整个页面中都有效,而局部作用域只在函数内部可用。当查找变量时,会沿着作用域链从当前作用域到全局作用域逐级搜索。未在函数内部使用var声明的变量会变成全局作用域,如果在所有作用域中都找不到变量,则会报错。
摘要由CSDN通过智能技术生成

一*作用域:就是变量生效的范围。
作用域分为全局作用域和局部作用域
全局作用域是最大的作用域.
在全局作用域中定义的变量可以在任何地方使用.
这个作用域会一直存在(弊端),直到页面关闭就销毁了
局部作用域 :必须函数才能生成局部作用域
在局部作用域中定义的变量只能在这个局部作用域内部使用
特别要注意的点:
特殊的作用域问题(如果函数内部声明变量没有添加var,变成全局作用域)
二.作用域链
// 通俗地讲,当执行函数时,如何获取变量的值
// 首先,在自己的作用域内部查找,如果有,就直接拿来使用
// 如果没有,就去上一级作用域查找,如果有,就拿来使用
// 如果没有,就继续去上一级作用域查找,依次类推
// 如果一直到全局作用域都没有这个变量,那么就会直接报错(该变量 is not defined)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值