作用域与作用域链

1、变量
(1)全局变量:除了函数定义的变量,其它任何位置定义的变量都是全局变量;
(2)局部变量:在函数内部定义的变量。函数外面访问不到;
(3)隐式全局变量:声明的变量没有var
举例1:
在这里插入图片描述说明:这里的number只赋值,没有var,依然能够被访问到;

举例2:
在这里插入图片描述说明:函数里的num = 1000,没有var声明,此时不是局部变量,而是隐式全局变量,因为{ }外面也能访问到

2、作用域:变量和函数的可访问范围;
(1)全局作用域:全局变量的使用范围;
(2)局部作用域:局部变量的使用范围;
(3)块级作用域:一对{ },看成是一块,在这个区域中定义的变量,只能在这个区域中使用。
说明:JavaScript没有块级作用域!所以在块级作用域中定义的变量,{ }外面也能使用(除了函数)
比如:while循环{ }中定义的变量,{ }外面也能访问到
在这里插入图片描述

3、作用域链:
理解:函数在执行的过程中,先从自己内部(当前的作用域)寻找变量,如果找不到,就像沿着一条链子一级一级往上搜索作用域,由内向外,一直延续到全局执行环境的变量。
比如:在这里插入图片描述结果:50

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值