`
dawuafang
  • 浏览: 1108629 次
文章分类
社区版块
存档分类
最新评论

javascript 闭包

 
阅读更多

javascript的闭包首先需要了解函数的作用于链概念。

即函数会有scope属性,最少其有两个链,1指向上级(如是顶层函数则它的上级是globle).2指向本身。如果是函数中的函数,则函数中的函数上级有2:globle,1:上级函数,0:本身函数,每个scope中会有自身函数中的变量,其中包括成员变量和成员函数,js中的函数有点类似java中的类呀,既当类又当函数的感觉。

首先举个例子:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
//这种不会报错,对于这种functiong fn1()的情况下,永远都是先初始化
fn1();
function fn1()
{
	alert("fn1");
	
}
//这种会报错,对于这种匿名函数,不会被先初始化
/**
 * 以下函数的定义方式是先在内存中开辟一块空间,之后通过一个叫fn2的变量指想他
   这块函数开始是没有命名的
 */
fn2();
var fn2 = function ()
{
	alert("fn2)"
};


</script>
</head>
<body>


</body>
</html>


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics