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

闭包概念:一个一个函数在建立时容许自身函数访问自身函数以外的变量时所建立的做用域。便是在小的做用域内容许访问大做用域内的信息。
{
XXX
//XXX能访问到YYY中
{
YYY
//YYY可以访问到XXX
}
}
这就是闭包web

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

建立私有变量svg

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 使用闭包就能够访问到构造器中的变量