js函數中的作用域

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>document</title>
		<script type="text/javascript">
			/*
				作用域:
				  就是起作用的範圍/有效範圍,每一函數的聲明都會形成一個作用域

				全局作用域:
					聲明的變量,就是全局變量

				局部作用域: 函數
				    局部作用域聲明的變量,就是局部變量,局部變量的生命週期和生效的範圍,都是生命該變量的函數區域,當函數調用完成以後,就直接銷燬了

				如果全局作用域,和局部作用域,變量重名了,我們採取就近原則,當前訪問這個變量,離哪個作用域近就是哪個作用域
			*/

			// var a = 10;
			// function sum(){
			// 	a = 5;
			// }
			// alert(a);  //10
			// sum();  //函數在調用的時候,才執行
			// alert(a); //5

			var a = 10;
			function sum(){
				a = 5;
				alert(5); //5   每個函數的聲明會形成一個作用域,調用sum的時候,會就近顯示出函數內的,之後,會釋放這個作用空間,會被銷燬
			}
			alert(a);  //10
			sum();  //函數在調用的時候,才執行
			alert(a); //10


			// function sum(){
			// 	a = 5;
			// 	alert(5); //5   每個函數的聲明會形成一個作用域,調用sum的時候,會就近顯示出函數內的,之後,會釋放這個作用空間,會被銷燬
			// }
			// sum();  //函數在調用的時候,才執行
			// alert(a); //訪問不到,因爲sum已經被銷燬了
		</script>
	</head>
	<body>

	</body>
</html>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章