返回顶部
首页 > 资讯 > 前端开发 > html >Javascript闭包的特性是什么
  • 379
分享到

Javascript闭包的特性是什么

2024-04-02 19:04:59 379人浏览 安东尼
摘要

本篇内容介绍了“javascript闭包的特性是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Java

本篇内容介绍了“javascript闭包的特性是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Javascript闭包的定义非常晦涩——闭包,是指语法域位于某个特定的区域,具有持续参照(读写)位于该区域内自身范围之外的执行域上的非持久型变量值能力的段落。这些外部执行域的非持久型变量神奇地保留它们在闭包最初定义(或创建)时的值(深连结)。

简单来说,Javascript闭包就是在另一个作用域中保存了一份它从上一级函数或作用域取得的变量(键值对),而这些键值对是不会随上一级函数的执行完成而销毁。周爱民说得更清楚,闭包就是“属性表”,闭包就是一个数据块,闭包就是一个存放着“Name=Value”的对照表。就这么简单。但是,必须强调,闭包是运行期概念,一个函数实例。

Javascript闭包的实现,通常是在函数内部再定义函数,让该内部函数使用上一级函数的变量或全局变量。

ECMAScript认为使用全局变量是一个简单的Javascript闭包实例。

var sMessage = "Hello World";   function sayHelloWorld(){   alert(sMessage);   };   sayHelloWorld();

但它完成没有体现Javascript闭包的特性……

现在比较让人认同的Javascript闭包实现有如下三种

with(obj){   //这里是对象闭包   }(function(){      //函数闭包   })()try{   //...   } catch(e) {   //catch闭包 但IE里不行   }

附上今天在无忧看到的问题:

要求:

让这三个节点的Onclick事件都能正确的弹出相应的参数。

<ul>    <li id="a1">aa</li>    <li id="a2">aa</li>   <li id="a3">aa</li>   </ul>   <script type="text/javascript">   <ul>   <li id="a1">aa</li>   <li id="a2">aa</li>   <li id="a3">aa</li>   </ul>   <script type="text/javascript">   for(var i=1; i < 4; i++){   var id = document.getElementById("a" + i);   id.onclick = function(){   alert(i);//现在都是返回4      }   }   </script>

客服果果的解答:

for(var i=1; i < 4; i++){      var id = document.getElementById("a" + i);          id.onclick = function(){                   alert(i);      };   };

局部变全局

for(var i=1; i < 4; i++){   var id = document.getElementById("a" + i);     id.i=i;//这个i有了根     id.onclick=function(){          alert(this.i)      };   };1.for(var i=1; i < 4; i++){     var id = document.getElementById("a" + i);    window[id.id]=i;//这个i有了根    id.onclick=function(){         alert(window[this.id]);     };   }

产生一对一的更多Javascript闭包

for(var i=1; i < 4; i++){    var id = document.getElementById("a" + i);    id.onclick = new function(){        var i2=i;//这个i是闭包的闭包       return function(){           alert(i2);       }     };   }

“Javascript闭包的特性是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Javascript闭包的特性是什么

本文链接: https://lsjlt.com/news/73259.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Javascript闭包的特性是什么
    本篇内容介绍了“Javascript闭包的特性是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Java...
    99+
    2024-04-02
  • 分析JavaScript闭包特性
    这篇文章主要介绍“分析JavaScript闭包特性”,在日常操作中,相信很多人在分析JavaScript闭包特性问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”分析JavaSc...
    99+
    2024-04-02
  • JavaScript闭包是什么
    这篇文章给大家分享的是有关JavaScript闭包是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。概论在讨论ECMAScript闭包之前,先来介绍下函数式编程(与ECMA-2...
    99+
    2024-04-02
  • 什么是JavaScript闭包
    本篇内容主要讲解“什么是JavaScript闭包”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“什么是JavaScript闭包”吧!什么是闭包简言之,闭包是由函数...
    99+
    2024-04-02
  • JavaScript中什么是闭包
    这篇文章给大家介绍JavaScript中什么是闭包,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 一 、词法定义域 LexicalClosure闭包是编程语言Lexical ...
    99+
    2024-04-02
  • javascript特性是什么
    这篇文章给大家分享的是有关javascript特性是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 javascript特性有:1、展开操作符;2...
    99+
    2024-04-02
  • Javascript闭包的作用是什么
    本篇内容主要讲解“Javascript闭包的作用是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Javascript闭包的作用是什么”吧!对于初学者来说,理...
    99+
    2024-04-02
  • javascript中什么指的是闭包
    这篇文章主要为大家展示了“javascript中什么指的是闭包”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“javascript中什么指的是闭包”这篇文章吧。 ...
    99+
    2024-04-02
  • javascript的闭包是什么意思
    这篇文章将为大家详细讲解有关javascript的闭包是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 在javascript中,当两...
    99+
    2024-04-02
  • JavaScript闭包是什么意思
    本篇内容介绍了“JavaScript闭包是什么意思”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!闭包是纯函数式编程语言的传统特性之一。通过将...
    99+
    2023-06-20
  • JavaScript闭包是什么及怎么用
    这篇“JavaScript闭包是什么及怎么用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“JavaScript闭包是什么及怎...
    99+
    2023-07-04
  • javascript语言特性是什么
    这篇文章主要介绍javascript语言特性是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!javascript语言特性有:1、解释性执行的脚本语言;2、基于对象的脚本语言;3、简单弱类型脚本语言;4、相对安全脚...
    99+
    2023-06-15
  • javascript消除闭包的方法是什么
    本篇内容主要讲解“javascript消除闭包的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript消除闭包的方法是什么”吧!说明闭包中的一个关键问题是函数内的函数可以被...
    99+
    2023-06-20
  • javascript中的技术特性是什么
    本篇内容介绍了“javascript中的技术特性是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • JavaScript中有用的特性是什么
    这篇文章主要讲解了“JavaScript中有用的特性是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中有用的特性是什么”吧!String.padStart() 和 S...
    99+
    2023-07-05
  • 在JavaScript函数中什么是闭包
    本篇内容介绍了“在JavaScript函数中什么是闭包”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!匿名函...
    99+
    2024-04-02
  • Javascript的独特的概念之闭包
    目录Javascript闭包简介:为什么是闭包:总结Javascript闭包简介: Javascript语言中,有一个独特的概念:闭包(closure),这在类似C++,Java等编...
    99+
    2024-04-02
  • JavaScript中闭包的实现原理是什么
    这篇文章将为大家详细讲解有关JavaScript中闭包的实现原理是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是闭包,为什么要用它?闭包是指有权访问另一个函数作...
    99+
    2024-04-02
  • javascript闭包有什么用
    这篇文章给大家分享的是有关javascript闭包有什么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。用处说明可以在函数外读取函数内部的变量,这些变量的值始终保持在内存中。闭包会将函数中的变量保存在存储器中,增...
    99+
    2023-06-20
  • javascript的面向对象特性是什么
    这篇文章主要介绍“javascript的面向对象特性是什么”,在日常操作中,相信很多人在javascript的面向对象特性是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作