尘境 发表于 2013-1-4 02:45:44

javascript学习系列之闭包

javascript学习系列之闭包

<div id="cnblogs_post_body">闭包一直是学习javascript的难点,但是是必须掌握的知识点。
从学javascript到现在有1年左右了,我对其仍是一知半解,故看了几篇大牛写的关于闭包的博客,稍有感悟,便记录于此。
本文简单的来说下闭包,主要是以下几个方面:
1)闭包的定义,即什么是闭包
2)闭包的用处
3)闭包导致的问题

1、闭包的定义

在《Javascript高级程序设计》这本书中,闭包是指:有权访问另一个函数作用域中的变量的函数。
创建闭包的常见方式,就是在一个函数内部创建另一个函数。
可以把闭包简单理解成"定义在一个函数内部的函数"。(因为在Javascript中,只有函数内部的子函数才能读取该函数内定义的局部变量)
在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。
eg.
<div class="cnblogs_Highlighter"><div class="cnblogs_Highlighter">function outer(){  var num = 123;  function inner(){    alert(num);   }  return inner;}var result = outer();result();      // 123
页: [1]
查看完整版本: javascript学习系列之闭包