忍者秘籍---第五章 闭包

闭包概念:一个一个函数在创建时允许自身函数访问自身函数之外的变量时所创建的作用域。即是在小的作用域内允许访问大作用域内的信息。
{
XXX
//XXX能访问到YYY中
{
YYY
//YYY能够访问到XXX
}
}
这就是闭包

闭包的几个性质:
1,内部函数的参数是包含在闭包中的。
2,作用域之外的所有变量,即使是函数声明之后的那些声明,也都包含在闭包中。(也就是可以提前引用在函数之后声明的变量。)
3,相同作用域内,不能在声明这个变量之前提前引用他。

创建私有变量

function outerfunction(){
		 	var outer=10;
		 	 this.getouter=function (){
		 	 	return outer;
		 	 };
		 	}

		 	var outer=new outerfunction();
		 	console.log(outer.outer);-------undefined,因为这里是使用构造器创建了一个outer对象,无法访问到构造器的内部变量
		 	console.log(outer.getouter());-------10 使用闭包就可以访问到构造器中的变量

猜你喜欢

转载自blog.csdn.net/qq_43336475/article/details/84313573