前端开发:JS中闭包的使用详解

前言

      在前端开发的时候,JavaScript的变量可以是局部变量或全局变量,当需要使用局部私有变量的时候,就涉及到闭包相关的内容。关于JS中闭包的使用是一个非常重要的知识点,也是JS中的一个难点,不管是在实际开发过程中的时候,尤其是在高级应用中必须依靠闭包来操作实现;还是在求职面试的时候,都是必备知识点。那么本篇博文就来分享一下关于JS中闭包的相关知识,记录一下,方便查阅使用。

什么是闭包

     一个函数和对其周围状态(lexical environment,词法环境)的引用捆绑在一起(或者说函数被引用包围),这样的组合就是闭包(closure)。也就是说,闭包让你可以在一个内层函数中访问到其外层函数的作用域。在 JavaScript 中,每当创建一个函数,闭包就会在函数创建的同时被创建出来。(释义来源于维基百科)

通俗的说,闭包就是能够读取其他函数内部变量的函数。由于在 JavasSript 语言中,只有函数内部的子函数才能读取局部变量,所以闭包可以简单理解成"定义在一个函数内部的函数"。在本质上看,闭包是将函数内部和函数外部连接起来的桥梁。

作用域

      变量的作用域分为:全局变量和局部变量(私有变量)。JS中变量作用域有点特殊,那是因为在函数内部可以直接获取到全局变量,但是在函数外面无法获取函数内部的局部变量(私有变量。在Java

你可能感兴趣的:(大前端开发常识,javascript,开发语言,ecmascript)