Home  >  Article  >  Web Front-end  >  What is a closure in JavaScript learning? Introduction to js closures

What is a closure in JavaScript learning? Introduction to js closures

青灯夜游
青灯夜游forward
2018-10-16 17:15:382420browse

This article will teach you what is a closure in JavaScript? An introduction to js closures. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.

What is a closure?

The official explanation of closures is: one that has many variables and binds these An expression (usually a function) of the environment of variables so that the variables are part of the expression.

Characteristics of closure:

1. As a reference to a function variable, when the function returns, It is active.
2. A closure is a stack area that does not release resources when a function returns.

Simply put, JavaScript allows the use of internal functions---that is, function definitions and function expressions are located in the function body of another function.

Furthermore, these internal functions can access all local variables, parameters and other internal functions declared in the external function in which they are located.

A closure is formed when one of these inner functions is called outside the outer function that contains them.

A closure is a function that can access variables in the scope of other functions.

A function contains another function, and the inner function uses the variables or parameters of the outer function.

Closure can prevent a local variable or parameter from being recycled so that we can use it for a long time.

<!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>

Summary: The above is the entire content of this article, I hope it will be helpful to everyone's study. For more related tutorials, please visit JavaScript Video Tutorial, jQuery Video Tutorial, bootstrap Tutorial!

The above is the detailed content of What is a closure in JavaScript learning? Introduction to js closures. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:cnblogs.com. If there is any infringement, please contact admin@php.cn delete