网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的范文:

 

标题 JavaScript中闭包的详解
范文
    闭包是什么
    在 Javascript 中,闭包是一个让人很难弄懂的概念。ECMAscript 中给闭包的定义是:闭包,指的是词法表示包括不被计算的变量的函数,也就是说,函数可以使用函数之外定义的变量。
    是不是看完这个定义感觉更加懵逼了?别急,我们来分析一下。
    闭包是一个函数
    闭包可以使用在它外面定义的变量
    闭包存在定义该变量的作用域中
    好像有点清晰了,但是使用在它外面定义的变量是什么意思,我们先来看看变量作用域。
    变量作用域
    变量可分为全局变量和局部变量。全局变量的作用域就是全局性的,在 js 的任何地方都可以使用全局变量。在函数中使用 var 关键字声明变量,这时的变量即是局部变量,它的作用域只在声明该变量的函数内,在函数外面是访问不到该变量的。
    
    可以看出,在第一次调用完 func2 之后,func 中的变量 a 变成 'linxin a',而没有被销毁。因为此时 func1 形成了一个闭包,导致了 a 的生命周期延续了。
    这下子闭包就比较明朗了。
    闭包是一个函数,比如上面的 func1 函数
    闭包使用其他函数定义的变量,使其不被销毁。比如上面 func1 调用了变量 a
    闭包存在定义该变量的作用域中,变量 a 存在 func 的作用域中,那么 func1 也必然存在这个作用域中。
    现在可以说,满足这三个条件的就是闭包了。
    下面我们通过一个简单而又经典的例子来进一步熟悉闭包。
    
    
随便看

 

在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/22 3:49:21