- 浏览: 51457 次
- 性别:
- 来自: 株洲
文章分类
最新评论
首先说明下,本人学习的javascript师承--大漠。是我们群一个非常牛b的任务。
一下文章系列是从一个外文网站上面看到的,所以加上自己的理解就发出来,大家共同学习
下面是一个普通的javascript函数
var text = 'Hello ' + name;//定义个临时string对象text
var sayAlert = function() { alert(text); }//定义临时function对象sayAlert
sayAlert();//执行
}
一个简单的闭包实例
闭包其实可以用2句话来总结//但是有的技术员认为不是一定要返回的函数才是闭包,这个我后面会有例子上来
第一:闭包是一个本地的函数变量,当调用它的函数返回的时候,它仍然是存在的,没有被释放。
第二:闭包是一个堆栈当函数被返回的时候,该堆栈没有被释放。---闭包的重要作用,保存临时变量
- 看下面的例子
var text = 'Hello ' + name; // local variable--本地变量是一个string对象
var sayAlert = function() { alert(text); }
return sayAlert;//闭包的标志,返回一个函数,该函数中text仍然是村在的
}
再来看下面的这个例子
function say667() {
// Local variable that ends up within closure
var num = 666;
var sayAlert = function() { alert(num); }
num++;
return sayAlert;
}
var sayNumba=say667();
sayNumba(); //弹出667
从上面这个例子我么可以看出,本地变量不是复制而是保持其引用在js引擎中,直到外部函数消失
下次,就写个闭包的常见引用吧,遍学习边用博客记录下来,方便自己
下面是我看到的一位技术牛人对闭包的看法
This is an attempt to clear up several (possible) misunderstandings about closures that appear in some of the other answers.
发表评论
-
javascirpt对象创建
2015-08-26 21:21 504javascript中的面向对象 理解js中的对象 最 ... -
react的学习总结
2015-06-10 11:51 1959React介绍(具体总结请参考附件chm,本文的chm版 ... -
抽取jquery源码实现获取元素的精确位置
2014-10-18 11:32 413获取元素准确位置的写法 知识点预备:getBounding ... -
jquery实现弹窗居中的简单效果
2014-10-18 09:24 968<!DOCTYPE html PUBLIC &quo ... -
javascript 基础知识零散汇总
2014-09-29 15:09 3741:数据类型判断 基础类型判断 Object.prot ... -
jquery jsonp参数编码问题不一致问题的解决方案
2014-09-27 23:06 6767<!doctype html> <ht ... -
javascript源对象于对象引用之前不得不说的事情
2014-09-13 17:05 374var source = {"a":3 ... -
sEMMET插件的最全快捷方式【来自Dash文档中心】
2014-09-11 10:44 555s -
仿淘宝放大镜效果
2014-09-11 00:31 428/* *知识点预备 clientX,clientY ... -
js--简单放大镜实现(带移动方块)
2014-09-11 00:22 735/* *知识点预备 clientX,clientY ... -
js+css自定义滚动条(包含滚动事件处理)
2014-08-31 12:11 560<!DOCTYPE html> <htm ... -
div+css(javascript)自定义滚动条
2014-08-31 10:07 320<!DOCTYPE html> <ht ... -
javascript--闭包彻底弄清楚
2014-08-27 10:09 378<!DOCTYPE html> ... -
JavaScript 闭包再探讨
2014-08-27 10:03 0<!DOCTYPE html> <htm ... -
JavaScript 闭包再探讨
2014-08-27 10:03 404<!DOCTYPE html> <htm ... -
javascript位置相关(一)---offset等测试
2014-08-17 21:19 480元素的offsetParent属性 : 只读 属性 离当前 ... -
javascript位置相关(二)--getBoundingClientRect
2014-08-17 21:17 603http://msdn.microsoft.com/en- ... -
setTimeout 使用
2014-08-17 18:22 412开门见山:众所周知,setTimeout ... -
setTimeout 0 使用
2014-08-17 18:03 431经常看到setTimeout延 ... -
前端知识点分享3--DOM操作
2014-07-28 22:27 525首先先要知道我们必须 ...
相关推荐
浅谈JavaScript for循环闭包 在JavaScript中,for循环和闭包是两个非常重要的概念。本文将对JavaScript for循环和闭包进行浅谈,并提供六种解决方案来解决for循环中的闭包问题。 首先,让我们来看一个例子。我们有...
Javascript中有几个非常重要的语言特性——对象、原型继承、闭包。其中闭包 对于那些使用传统静态...本文将以例子入手来介绍Javascript闭包的语言特性,并结合一点 ECMAScript语言规范来使读者可以更深入的理解闭包。
标题《JavaScript闭包的理解》涉及的知识点主要围绕JavaScript编程中的一个重要概念——闭包。闭包是一个高级且复杂的话题,它是JavaScript语言的核心特性之一,同时也是一大难点。要想熟练运用JavaScript,掌握闭包...
### JavaScript闭包的理解 #### 一、闭包的定义与特点 闭包是JavaScript中一个非常重要的概念,它指的是一个函数能够访问并操作其外部作用域中的变量的能力。这一特性使得JavaScript具有了一些其他语言不具备的...
本文结合 ECMA 262 规范详解了闭包的内部工作机制,让 JavaScript 编程人员对闭包的理解从“嵌套的函数”深入到“标识符解析、执行环境和作用域链”等等 JavaScript 对象背后的运行机制当中,真正领会到闭包的实质。
深入理解javascript原型和闭包(01)——一切都是对象 深入理解javascript原型和闭包(02)——函数和对象的关系
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。
### JavaScript闭包完整解释 #### 一、闭包的基本概念 **闭包**是一个非常重要的JavaScript概念,它指的是一个函数能够记住并访问其外部作用域中的变量的能力,即使该函数在其外部作用域之外被调用也是如此。具体...
1. 函数作为返回值:在JavaScript中,如果一个外部函数返回了一个内部函数,那么这个内部函数可以访问外部函数的局部变量,这就形成了闭包。 2. 函数作为参数传递:一个函数可以被当作参数传递给另一个函数,这个被...
Swift3.0 闭包是该语言中的一个重要概念,它是一种可以捕获和存储周围环境中的数据(称为闭包环境或上下文)的匿名函数。闭包在Swift中被广泛用于处理异步操作、排序、过滤等任务。下面将详细阐述Swift3.0中的闭包...
JavaScript 闭包研究及典型应用 JavaScript 闭包是一种强大的技术,能够在各种场景中发挥重要作用。本文将介绍 JavaScript 闭包的定义、使用场景和典型应用。 闭包函数的定义和使用场景 在 JavaScript 语言中,...
创建闭包的方式很简单,在JavaScript中,任何函数,只要被创建就会拥有自己的闭包。闭包的常见使用场景包括私有变量、模块模式等。闭包的核心优势在于它能够创建一个独立的作用域环境,避免了全局变量的污染,同时...
本文将以例子入手来介绍Javascript闭包的语言特性,并结合一点 ECMAscript语言规范来使读者可以更深入的理解闭包。闭包是Closure, 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
nAdd = function(){ n += 1; } function f2(){ alert(n); } return f2; } 这里的闭包是f1,封闭了一个变量n和一个函数f2。 我们先无视nAdd,尽量保持原貌重写一下这个函数。 代码如下: function f1(){ var ...
闭包是ECMAScript (JavaScript)最强大的特性之一,但用好闭包的前提是必须理解闭包。闭包的创建相对容易,人们甚至会在不经意间创建闭包,但这些无意创建的闭包却存在潜在的危害,尤其是在比较常见的浏览器环境下...
JavaScript中的闭包是一种高级特性,它允许一个函数访问并操作其外部作用域的变量,即使在外部函数已经执行完毕后。这种机制的核心在于,当内部函数引用了外部函数的变量时,JavaScript会保持对外部作用域的引用,...
基于JavaScript闭包的Web图片浏览控件的实现 本文主要讲解了基于JavaScript闭包原理的Web图片浏览控件的实现,包括JavaScript闭包概念、闭包应用场景、Web图片浏览控件的设计思路和实现方法。 1. JavaScript闭包...
理解闭包的关键在于理解JavaScript的作用域规则。在实际应用中,闭包是JavaScript工程师必须掌握的概念。尽管闭包提供了强大的功能,但在某些情况下也可能会导致内存泄漏,特别是在旧版浏览器中的JavaScript引擎可能...