JavaScript变量

原创2018-12-20 07:30:4460
摘要:<!DOCTYPE html> <html> <head> <title></title> </head> <body> <script type="text/javascript"> function a() { var b
<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
<script type="text/javascript">
	function a() {
		var b = 100;
		function c(){
			var d = 2;
			return document.write(b+d);
		}	
		c();
	}
	a();
</script>
</body>
</html>

这个算闭包吗?老师,感觉不这样子写都会方便一点

批改老师:天蓬老师批改时间:2018-12-20 10:38:15
老师总结:算是闭包,但还不是真正意义上的纯闭包, 这个子函数,如果离开它的词法作用域,再调用, 理论上说,这才是真正意义上的闭包, 现在c函数,仍在a函数内被调用,并没离开它的词法作用域,最好是返回c: return c; 然后在a函数外部, a()(),这样来调用c, 这样才是如假包换的闭包.

发布手记

热门词条