首頁 >web前端 >js教程 >JavaScript學習之什麼是閉包? js閉包的介紹

JavaScript學習之什麼是閉包? js閉包的介紹

青灯夜游
青灯夜游轉載
2018-10-16 17:15:382421瀏覽

本篇文章就帶給大家JavaScript學習之什麼是閉包? js閉包的介紹。有一定的參考價值,有需要的朋友可以參考一下,希望對你們有幫助。

什麼是閉包?  

#官方對閉包的解釋是:一個擁有許多變數和綁定了這些變數的環境的表達式(通常是一個函數),因而這些變數也是該表達式的一部分。

閉包的特點:

#1.作為一個函數變數的一個引用,當函數傳回時,其處於啟動狀態。
2.一個閉包就是當一個函數回傳時,一個沒有釋放資源的堆疊區。

簡單的說,javascript允許使用內部函數---即函數定義和函數表達式位於另一個函數的函數體內。

而且,這些內部函數可以存取它們所在的外部函數中宣告的所有局部變數、參數和宣告的其他內部函數。

當其中一個這樣的內部函數在包含它們的外部函數之外被呼叫時,就會形成閉包。

閉包就是一個可存取到別的函數作用域中變數的函數。

一個函數包含另一個函數,內部函數使用外部函數的變數或參數。

閉包可以使一個局部的變數或參數不會被回收,以便我們長期的使用。

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title>Insert title here</title>
	</head>
	<script type="text/javascript" src="../js/vue.js"></script>

	<body></body>
	<script type="text/javascript">
		//平常创建的方式
		//一个函数包含另一个函数,内部函数使用外部函数的变量或者参数。
		function myFunction() {
			var x = 10;
			return function() {
				x++;
				alert(x);
			}
		}
		var a = myFunction();
		a(); //11    a(); //12    a(); //13
		//闭包可以使一个局部的变量或者参数不会被回收,以便我们长期的使用。
	</script>

</html>

總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。更多相關教學請造訪JavaScript影片教學jQuery影片教學bootstrap教學

以上是JavaScript學習之什麼是閉包? js閉包的介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除