变量的作用域:变量的作用范围
根据作用域不同,将变量分为以下两类:
(1)全局变量
1.在函数外部定义的变量
2.变量定义时未使用var关键字
3.window对象的属性
(2)局部变量
1.在函数内部定义的变量(包含参数位置)
总结:
全局变量生命周期较长,占用内存时间长,不利于回收
局部变量生命周期较短,当函数调用完毕时,等待回收,满足快速释放
推荐多使用局部变量,少使用全局变量
例如:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<script type="text/javascript">
		//var a=10;//全局变量
		//console.log(a);//全局变量
	</script>
</head>
<body>
	<!-- <script type="text/javascript">
		//console.log(a);//全局变量

	</script> -->

	<script type="text/javascript">
		// var a=10;//全局
		// function show(){
		// 	console.log(a);//全局变量
		// }
		// show();

		// var a=10;//全局变量
		// function show1(){
		// 	var b=20;//局部变量
		// 	console.log(a);//全局
		// 	console.log(b);//局部
		// }

		// function show2(){
		// 	var c=30;//局部
		// 	console.log(a);//全局
		// 	console.log(b);//局部  没有变量 保错
		// 	console.log(c);//全局
		// }


		// show1();
		// show2();

		// var a=10;
		// function show(){
		// 	var a=20;//局部变量
		// 	console.log(a);//就近原则
		// }
		// show();

		// var a=5;//全局变量
		// function show(){
		// 	var a=10;//局部变量
		// 	console.log(a);//就近原则
		// 	a=3;//就近原则
		// 	console.log(a);
		// }

		// show();
		// console.log(a);//全局变量*/

		var b=5;//全局
		function show(b){
			b=8;//局部
			console.log(b);//就近
		}
		show();
		console.log(b);//全局
	</script>

</body>
</html>
02-17 03:10