码迷,mamicode.com
首页 >  
搜索关键字:闭包    ( 5004个结果
深入理解javascript原型和闭包(14)——从【自由变量】到【作用域链】
先解释一下什么是“自由变量”。在A作用域中使用的变量x,却没有在A作用域中声明(即在其他作用域中声明的),对于A作用域来说,x就是一个自由变量。如下图如上程序中,在调用fn()函数时,函数体中第6行。取b的值就直接可以在fn作用域中取,因为b就是在这里定义的。而取x的值时,就需要到另一个作用域中取。...
分类:编程语言   时间:2014-09-25 16:45:19    阅读次数:238
javascript中的匿名函数整理笔记
以下为总结在开源的JavaScript框架中能看到很多这样语法结构(function(){})()比如我最近看的jQuery,及chediter。刚开始的时候我看到这样的结果有点奇怪,它是怎么执行的,并且这是什么样的语法结构,最近偶尔看闭包的时候,才发现原来这是JavaScript种匿名函数(看到这...
分类:编程语言   时间:2014-09-25 16:34:49    阅读次数:176
Javascript 闭包
Javscript 闭包
分类:编程语言   时间:2014-09-25 15:42:59    阅读次数:237
深入理解javascript原型和闭包(13)-【作用域】和【上下文环境】
作用域只是一个“地盘”,一个抽象的概念,其中没有变量。要通过作用域对应的执行上下文环境来获取变量的值。同一个作用域下,不同的调用会产生不同的执行上下文环境,继而产生不同的变量的值。所以,作用域中变量的值是在执行过程中产生的确定的,而作用域却是在函数创建时就确定了。所以,如果要查找一个作用域下某个变量的值,就需要找到这个作用域对应的执行上下文环境,再在其中寻找变量的值。...
分类:编程语言   时间:2014-09-25 11:06:59    阅读次数:246
你懂JavaScript?请解答
快速测试的真正理解JavaScript核心闭包和范围之外。这五个小脚本。试着回答什么是提醒在每种情况下没有运行在控制台。然后您可以创建一个测试文件,轻松地检查你的答案。准备好了吗? if (!("a" in window)) { var a = 1; } alert(a); var a = 1, b = function a(x) { x && a(--x)...
分类:编程语言   时间:2014-09-25 09:19:18    阅读次数:238
深入理解javascript原型和闭包(13)-【作用域】和【上下文环境】
上文简单介绍了作用域,本文把作用域和上下文环境结合起来说一下,会理解的更深一些。如上图,我们在上文中已经介绍了,除了全局作用域之外,每个函数都会创建自己的作用域,作用域在函数定义时就已经确定了。而不是在函数调用时确定。下面我们将按照程序执行的顺序,一步一步把各个上下文环境加上。另外,对上下文环境不了...
分类:编程语言   时间:2014-09-25 08:59:58    阅读次数:212
Lua迭代器和泛型for
1、迭代器与closure在lua中,迭代器通常为函数,每调用一次函数,会返回集合中的下一个元素。每个迭代器在成功调用的时候,都需要保存一些状态,closure(闭包)完美为迭代器运用而生。function values(t) local i=0 return function() --...
分类:其他好文   时间:2014-09-24 23:17:17    阅读次数:196
jQuery2.1.1源码分析(一)---微型jQuery框架
错误很多,多多指教。去掉繁杂的代码,下面就相当于一个微型的jQuery框架。//一个js函数function,闭包传入window变量运行,(function(window){ //定义jQuery赋值给3个变量,返回一个对象jQuery.fn.init的实例化 var jQuery = w...
分类:Web程序   时间:2014-09-24 21:31:17    阅读次数:254
常遇到的一种闭包情形
1 问题描述  有个问题,想把一个请求,分成多次请求完成。例如,下面的例子中,将一个时间段,拆分成10个小的时间段,分别请求数据。很自然地写出了如下代码: for (var i = 0; i < 10; i++) { var dateRange = {}; dateRange.start = start + i*deta; dateRange.end = st...
分类:其他好文   时间:2014-09-24 19:22:27    阅读次数:172
Effective JavaScript Item 27 使用闭包而不是字符串来封装代码
本系列作为Effective JavaScript的读书笔记。   对于代码封装,在JavaScript中有两种方式可以办到。第一种就是使用function,第二种则是利用eval()函数,传入到该函数的字符串参数可以是一段代码。   当对使用哪种方式犹豫不决时,使用function。因为使用字符串的一个重要缺点是,传入的字符串并不是一个闭包,而function则可以代表一个闭包。关于闭包...
分类:编程语言   时间:2014-09-24 11:57:31    阅读次数:275
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!