首页> 基础笔记 >JS/JQ基础学习 >函数 函数

JavaScript的变量的作用域

作者:小萝卜 2023-03-21 浏览 429

简介JavaScript的变量的作用域

1.变量的优先级

如果在函数体里定义了一个与全局变量名相同的局部变量,那么在该函数体里全局变量将不起作用,就相当于全局变量并不存在。

2.在函数体内定义全局变量

在函数体内使用var关键字定义的变量为局部变量,如果要在函数体内定义全局变量,则不能使用var关键字,只需要直接给变量赋值即可。

3.嵌套函数体中的变量的范围

在JavaScript中的函数是可以嵌套的,每个嵌套函数中的变量都可以在该函数体内,以及嵌套的函数体内起作用,但不能在父级或父级以上的函数体内起作用。

4.局部变量在整个函数体内都有效

JavaScript只要在函数体内定义了局部变量,该局部变量就会在整个函数体内有效,而不是从定义局部变量的那行代码开始起效。


 

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>作用域</title>
</head>
<body>
	<script type="text/javascript">
	var a = 100;
	function love(){
		alert(12345);
	}
	</script>


	<script type="text/javascript" src="1.js"></script>
	34rtyuio0fghjkl;fghjkltyghujaldfasdifjokaslkfdjaslkdfjaiojfda
	dolfajfdklajflakjsldkfalkjflad
	dajlfdasjlkdfajs;l
	fdlkasjflkads
	fmlkdsajfkl;ads
	lkfdjaslk;fjasl


	<script type="text/javascript">
	// alert(a);
	// alert(b);
	// love();

	//由外而向内的有效机制
	var c = 300;
	function func(){
		var d = 400;
		function func2(){
			var d = 500;
			alert(d);
			alert(c);
		}
		func2();
	}
	// func();

	var e = '';
	//如果声明变量不加var
	function func3(){
		e = 600;
	}
	func3();
	// alert(e);

	//函数的作用域
	function func(){
		function func1(){
			function func3(){
				func2();
			}
			func3();
		}
		
		function func2(){
			alert('func2');
		}
		
		func1();
	}
	func();


	</script>
</body>
</html>

很赞哦! (0)

文章评论

    高端网站建设