JavaScript自执行闭包的小例子
//无参数的
(function(){
alert('hello');
})();
//有参数的
(function(name){
alert('Hello ' + name);
})('world');
这个闭包有什么用呢?一眼望去就是括号围着,局部变量想跑也不出来到处捣乱,这是其中一个主要用途,当然了,封装一些javascript库也离不开它。
相关推荐
-
javascript闭包的高级使用方法实例
扩展Code: 复制代码 代码如下: var blogModule = (function (my) { my.AddPhoto = function () {//添加内部代码 }; return my;}(blogModule)); Say:将自身传进方法,然后实现了方法的扩展,有点象零件组装啊Code: 复制代码 代码如下: var blogModule = (function (my) {var oldAddPhotoMethod = my.AddPhoto; my.AddPhoto =
-
javascript学习之闭包分析
在ECMAScript中,在函数声明处向函数外部看到的声明的所有变量,在函数内部都能访问到它们的最终值! 闭包函数只能访问变量的最终值!!! eg: function fnTest(arr) { for (var i=0;i < arr.length;i++) { arr[i]=function () { alert(i+" | "+arr[i]); }; } } var arr = [0,1,2,3]; fnTest(arr); for (var i=0;i <
-
深入理解JavaScript系列(16) 闭包(Closures)
介绍 本章我们将介绍在JavaScript里大家经常来讨论的话题 -- 闭包(closure).闭包其实大家都已经谈烂了.尽管如此,这里还是要试着从理论角度来讨论下闭包,看看ECMAScript中的闭包内部究竟是如何工作的. 正如在前面的文章中提到的,这些文章都是系列文章,相互之间都是有关联的.因此,为了更好的理解本文要介绍的内容,建议先去阅读第14章作用域链和第12章变量对象. 英文原文:http://dmitrysoshnikov.com/ecmascript/chapter-6-closu
-
谈谈JavaScript中的函数与闭包
闭包这东西,说难也难,说不难也不难,下面我就以自己的理解来说一下闭包 一.闭包的解释说明 对于函数式语言来说,函数可以保存内部的数据状态.对于像C#这种编译型命令式语言来说,由于代码总是在代码段中执行,而代码段是只读的,因此函数中的数据只能是静态数据.函数内部的局部变量存放在栈上,在函数执行结束以后,所占用的栈被释放,因此局部变量是不能保存的. Javascript采用词法作用域,函数的执行依赖于变量作用域,这个作用域是在定义函数时确定的.因此Javascript中函数对象不仅保存代码逻辑,还必
-
javascript 闭包
对于初学者来说,理解Javascript闭包(closure)还是比较困难的,而撰写此文的目的就是用最通俗的文字揭开Javascript闭包的真实面目,让初学者理解起来更加容易一些. 一.什么是闭包? "官方"的解释是:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分.相信很少有人能直接看懂这句话,因为他描述的太学术. 其实这句话通俗的来说就是:JavaScript中所有的function都是一个闭包.不过一般来说,嵌套的func
-
基于javascript 闭包基础分享
如果对作用域,函数为独立的对象这样的基本概念理解较好的话,理解闭包的概念并在实际的编程实践中应用则颇有水到渠成之感. 在DOM的事件处理方面,大多数程序员甚至自己已经在使用闭包了而不自知,在这种情况下,对于浏览器中内嵌的JavaScript引擎的bug可能造成内存泄漏这一问题姑且不论,就是程序员自己调试也常常会一头雾水.用简单的语句来描述JavaScript中的闭包的概念:由于JavaScript中,函数是对象,对象是属性的集合,而属性的值又可以是对象,则在函数内定义函数成为理所当然,如果在函数
-
关于JS中的闭包浅谈
( ⊙o⊙ )!!!这个也太尼玛官方了撒,作为菜鸟的我根本无法理解它想表达个什么意思!但是作为一只好奇的菜鸟又很想知道"闭包"到底是个什么东西!所以最终找到了传说中的"度娘"帮忙!还算有了一点小小的理解! 个人见解:在函数体内定义另外的方法函数,而这个方法函数被函数以外的变量引用,这时就形成了闭包! 可能这样的理解也太抽象了,并不是那么简单易懂!实例吧: 复制代码 代码如下: <script type="text/javascript"&g
-
JavaScript自执行闭包的小例子
复制代码 代码如下: //无参数的 (function(){ alert('hello'); })(); //有参数的 (function(name){ alert('Hello ' + name); })('world'); 这个闭包有什么用呢?一眼望去就是括号围着,局部变量想跑也不出来到处捣乱,这是其中一个主要用途,当然了,封装一些javascript库也离不开它.
-
JavaScript函数获取事件源的小例子
复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&qu
-
深入浅析javascript立即执行函数
javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花; 当然,能理解各型各色的写法也是对javascript语言特性更进一步的深入理解. JavaScript 函数语法 函数就是包裹在花括号中的代码块,前面使用了关键词 function: function functionname() { 这里是要执行的代码 } 当调用该函数时,会执行函数内的代码. 可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript
-
JavaScript中的闭包(Closure)详细介绍
闭包是JavaScript中一个重要的特性,其最大的作用在于保存函数运行过程中的信息.在JavaScript中,闭包的诸多特性源自函数调用过程中的作用域链上. 函数调用对象与变量的作用域链 对于JavaScript中的每一次函数调用,JavaScript都会创建一个局部对象以储存在该函数中定义的局部变量:如果在该函数内部还有一个嵌套定义的函数(nested function),那么JavaScript会在已经定义的局部对象之上再定义一个嵌套局部对象.对于一个函数,其内部有多少层的嵌套函数定义,也
-
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
相关阅读:谈谈我对JavaScript原型和闭包系列理解(随手笔记8) 谈谈我对JavaScript原型和闭包系列理解(随手笔记9) 什么是闭包 闭包是什么?闭包是Closure,这是静态语言所不具有的一个新特性.但是闭包也不是什么复杂到不可理解的东西,简而言之,闭包就是: • 闭包就是函数的局部变量集合,只是这些局部变量在函数返回后会继续存在. • 闭包就是就是函数的"堆栈"在函数返回后并不释放,我们也可以理解为这些函数堆栈并不在栈上分配而是在堆上分配 • 当在一个函数内定义另外
-
谈谈我对JavaScript原型和闭包系列理解(随手笔记8)
在上篇文章给大家介绍了<谈谈我对JavaScript原型和闭包系列理解(随手笔记6)>, 谈谈我对JavaScript原型和闭包系列理解(随手笔记9) 可以点击了解详情. 执行上下文栈 执行全局代码时,会产生一个执行上下文环境,每次调用函数都又会产生执行上下文环境.当函数调用完成时,这个上下文环境以及其中的数据都会被消除,再重新回到全局上下文环境.处于活动状态的执行上下文环境只有一个. 压栈出栈过程----执行上下文栈: var a = 10, //1. 进入全局上下文环境 fn, ba
-
一个小例子解释如何来阻止Jquery事件冒泡
什么是JS事件冒泡? 在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最顶层,即document对象(有些浏览器是window). 如何来阻止Jquery事件冒泡? 通过一个小例子来解释 <!DOCTYPE html PUBLIC "-//W3C//D
-
JavaScript中的闭包
1.什么是闭包 闭包,官方对闭包的解释是:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分. 简单的说,Javascript允许使用内部函数---即函数定义和函数表达式位于另一个函数的函数体内.而且,这些内部函数可以访问它们所在的外部函数中声明的所有局部变量.参数和声明的其他内部函数.当其中一个这样的内部函数在包含它们的外部函数之外被调用时,就会形成闭包. 闭包的特点 1 函数嵌套函数 2 函数内部可以引用外部的参数和变量 3 参数和变量不会被垃
-
JavaScript作用域、闭包、对象与原型链概念及用法实例总结
本文实例讲述了JavaScript作用域.闭包.对象与原型链概念及用法.分享给大家供大家参考,具体如下: 1 JavaScript变量作用域 1.1 函数作用域 没有块作用域:即作用域不是以{}包围的,其作用域完成由函数来决定,因而if /for等语句中的花括号不是独立的作用域. 如前述,JS的在函数中定义的局部变量只对这个函数内部可见,称之谓函数作用域. 嵌套作用域变量搜索规则:当在函数中引用一个变量时,JS会搜索当前函数作用域,如果没有找到则搜索其上层作用域,一直到全局作用域. var va
-
Javascript作用域与闭包详情
目录 1.作用域 2.作用域链 3.词法作用域 5.闭包的应用 6.闭包的缺陷 7.高频闭包面试题 1.作用域 简单来说,作用域是指程序中定义变量的区域,它决定了当前执行代码对变量的访问权限 在ES5中,一般只有两种作用域类型: 全局作用域:全局作用域作为程序的最外层作用域,一直存在 函数作用域:函数作用域只有在函数被定义时才会被创建,包含在父级函数作用域或全局作用域中 说完概念,我们来看下面这段代码: var a = 100 function test(){ var b = a * 2 var
随机推荐
- CSS网页布局入门教程13:下拉及多级弹出式菜单
- PowerDesigner15.1连接oracle11g逆向生成ER图
- Java刷视频浏览量点赞量的实现代码
- 用Java连接sqlserver数据库时候几个jar包的区别分析
- iOS动画之向右拉的抽屉3D效果
- 在ASP.NET2.0中通过Gmail发送邮件的代码
- ASP.NET数据绑定之DataList控件实战篇
- jquery将一个表单序列化为一个对象的方法
- java struts常见错误以及原因分析
- c语言调用汇编的方法
- MySQL Slave 触发 oom-killer解决方法
- js下拉菜单生成器dropMenu使用方法详解
- Mybatis update数据库死锁之获取数据库连接池等待
- c语言 跳台阶问题的解决方法
- 两个INPUT同步输入的方法小结 兼容IE和firefox
- php中require和require_once的区别说明
- nginx实现请求转发
- php之对抗Web扫描器的脚本技巧
- Bootstrap实现可折叠分组侧边导航菜单
- 微信小程序自定义组件实现环形进度条