`
chairmanMao
  • 浏览: 16873 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

理解js闭包

 
阅读更多
http://www.zhihu.com/question/20019257
首先要感谢这篇文章
参考这篇文章,js函数作用域AO,this.scope
for(var i=0;i<8;i++)
事件=function(){alert(i)};

循环首先执行完成,等事件触发的时候循环已经执行完毕,此时i=8
如果在事件的function中传i,i已经完成了其生命周期,i为undefined
如果将事件修改成
事件=(function(){alert(i);})(i);

这样的话事件变成自动执行的代码,可以成功将i的值传入,现在要做的是将代码的自动执行变成事件响应
事件=(function(){return function(){alert(i);}})(i);

这样可以变成事件触发模式
分享到:
评论

相关推荐

    js闭包个人理解

    ### JavaScript闭包的理解 在JavaScript中,闭包(Closure)是一种非常重要的概念,它涉及到函数作用域、变量生命周期以及函数内部对外部作用域的访问等多个方面。本文将基于提供的文件内容,深入探讨JavaScript...

    javascript深入理解js闭包.docx

    在JavaScript中,闭包是一种特殊的函数,它能够访问并操作其定义时的作用域,即使该作用域在其执行时已经不存在。闭包的概念是基于JavaScript的词法作用...理解并掌握闭包对于编写高效、安全的JavaScript代码至关重要。

    [深入理解JS闭包]帮助你快速学习js的闭包,简单高效的文档资源

    总结,JavaScript 闭包是理解和掌握 JavaScript 高级编程的关键之一。它提供了访问和操作外部作用域的能力,有助于实现模块化、封装和持久化变量等功能。然而,使用不当也可能带来内存问题,因此在使用闭包时需谨慎...

    深入理解javascript原型和闭包

    深入理解javascript原型和闭包(01)——一切都是对象 深入理解javascript原型和闭包(02)——函数和对象的关系

    js闭包的理解以及作用.docx

    闭包是JavaScript中实现数据隐藏和封装的一种重要手段,对于理解和编写高效的JS代码至关重要。 1. **作用域的理解** - **全局变量**:在整个程序中都可访问的变量,它们在整个脚本的生命周期内都存在。 - **局部...

    深入理解_JavaScript_闭包

    总之,深入理解JavaScript闭包对于编写高效、可维护的代码至关重要。掌握闭包不仅有助于解决实际问题,还能提高编程技巧和对JavaScript语言机制的理解。在日常开发中,无论是用于实现模块化、数据封装,还是处理异步...

    js闭包理解之倒计时

    在这个“js闭包理解之倒计时”的主题中,我们将深入探讨如何利用闭包实现一个实际项目中的倒计时功能。 首先,让我们了解一下闭包的基本概念。在JavaScript中,每当函数被创建时,它都会形成一个闭包,这个闭包包含...

    javascript深入理解js闭包

    要理解闭包,首先必须理解Javascript特殊的变量作用域。 变量的作用域无非就是两种:全局变量和局部变量。 Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。 var n=999;  function f1(){  alert&...

    一分钟理解js闭包

    理解闭包是掌握JavaScript高级特性的关键,它有助于编写更加灵活和模块化的代码。通过正确地使用闭包,可以避免全局变量污染,提高代码的可维护性和复用性。不过,也需要注意闭包可能导致的内存问题,合理管理变量...

    JS 闭包的理解

    总之,JavaScript闭包是理解和编写高效、模块化代码的关键概念,它能帮助我们更好地管理作用域、变量和内存,从而提高代码的复用性和可维护性。在日常开发中,熟练掌握闭包不仅可以提升编程技能,也能让代码更加优雅...

    JS闭包可被利用的常见场景

    JavaScript 闭包是一种强大的编程工具,常常被用来解决特定的问题和优化代码结构。在JavaScript中,闭包是指一...通过正确理解和运用闭包,开发者可以编写更高效、更灵活的代码,同时避免全局变量污染和其他潜在问题。

    Javascript 闭包完整解释

    ### JavaScript闭包完整解释 #### 一、闭包的基本概念 **闭包**是一个非常重要的JavaScript概念,它指的是一个函数能够记住并访问其外部作用域中的变量的能力,即使该函数在其外部作用域之外被调用也是如此。具体...

    js闭包详细讲解

    ### JavaScript闭包详解 #### 一、闭包概念与特性 **闭包**是JavaScript语言的一个重要特性,它使得函数可以访问并操作其外部作用域内的变量,即使该函数在其外部作用域之外被调用。要理解闭包,首先需要了解...

    javascript闭包的理解

    标题《JavaScript闭包的理解》涉及的知识点主要围绕JavaScript编程中的一个重要概念——闭包。闭包是一个高级且复杂的话题,它是JavaScript语言的核心特性之一,同时也是一大难点。要想熟练运用JavaScript,掌握闭包...

    js闭包理解

    JavaScript中的闭包是一种重要的编程概念,它涉及到函数、作用域和内存管理等多个方面。闭包的本质是函数能够访问...理解和掌握闭包是提升JavaScript编程能力的重要一步,它能够帮助开发者编写出更高效、更灵活的代码。

    js闭包写法学习demo

    以下是一些关于JavaScript闭包的关键知识点: 1. **函数嵌套**:闭包最常见的形式是内部函数引用了外部函数的变量。例如: ```javascript function outerFunction() { var outerVar = 'I am from the outer ...

    JavaScript闭包

    Javascript中有几个非常重要的语言特性——对象、原型继承、闭包。其中闭包 对于那些使用传统静态...本文将以例子入手来介绍Javascript闭包的语言特性,并结合一点 ECMAScript语言规范来使读者可以更深入的理解闭包。

Global site tag (gtag.js) - Google Analytics