JavaScript变量作用域

JavaScript作用域定义:

就是代码名字(变量)在某个范围内起作用和效果

目的:

是为了提高程序的可靠性更重要的是减少命名冲突

作用域的种类:

JS的作用域(es6之前)

全局作用域:

整个Script标签,或者是一个单独的Js文件

例如:

<script>
	var num = 10
</script>

局部作用域:

在函数内部就是局部作用域 这个代码的名字只在函数内部起效果和作用

例如:

function fn (){
	//局部作用域
}

注意:

1.在不同的作用域下命名同一个变量,变量名是不会发生冲突。

2.在同一个作用域下命名同一个变量,变量命会发生冲突。

变量作用域:

在Js中,根据作用域的不同,变量可以分为两种:

全局变量:

1.在全局作用作用域下的变量

<script>
	var num = 10
</script>

此时的num就是一个全局变量

2.在全局下都可以使用

局部变量:

1.在局部作用域下的变量  或者函数内部的变量就是 局部变量

function fun(){
	var num1 = 10;//num1就是局部变量 只能在函数内部使用
}

2.局部变量在外部是不能被调用的

注意:

1,如果在函数内部 没有声名直接赋值的变量也属于全局变量。

2.函数的形参也可以看作是局部变量

执行效率:

1.全局变量只有在浏览器关闭的时候才会被销毁,比较占据内存资源

2.局部变量  当我们的程序执行完毕就会被销毁,比较节省每部资源

JS块级作用域

定义:JS的块级作用域是在es6的时候新增的块级作用域

1.块据作用域就是用‘{}’花括号包裹起来的区域

作用域链

1.只要是代码就会有一个作用域

2.写在函数内部的局部作用域

3.如果在函数内还有函数,那么在这个作用域中就又可以诞生一个作用域

4.根据在内部函数可以访问外部函数变量的这种机制,用链式查找决定哪些数据能被内部函数访问,就称作‘作用域链’

<script>
	function fn(){
		var num = 20;
		function fun(){
			//第二个函数
		}
	}
</script>

案例:

例一:

<script>
	//案例一:结果是几
	function f1(){
		var num = 123;
		function f2(){
			console.log(num);
		}
		f2();
	}
	var num = 456;
	f1();	
</script>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

终会为一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值