首页
   /       /   
关于JavaScript中的闭包
3月
1
关于JavaScript中的闭包
作者: 大彭Sir    分类: 随手笔记     正在检查是否收录...

什么是JavaScript闭包

JavaScript闭包是指函数在定义的同时创建的作用域的概念,它可以保存函数运行的上下文状态,也可以让它访问到变量、函数等。让外部无法访问到的。

为什么要使用JavaScript闭包

  1. 安全性:可以从全局作用域中创建一个独立的环境,可以将局部变量隐藏起来,也无法被外部函数访问;
  2. 封装性:可以将代码模块中的变量、方法封装起来。减少对其他模块或文件的依赖;
  3. 有利于一些插件开发:可以在全局空间中无污染地定义对象,也更方便集中我们对对象的操控;
  4. 有利于代码的复用性。

如何使用JavaScript闭包

JavaScript闭包通常使用function()语法创建,简单的实例如下:

function f1(){
    var name = 'AI';
    function f2(){
        alert(name);
    }
    return f2;
}

var res = f1();
res(); // AI

在上面的代码中,我们创建一个f1函数,它定义了一个局部变量name, 然后return一个f2函数,在f2函数中可以访问name变量,这就是一个闭包。

你也可以使用ES6新语法创建闭包,大致如下:

let globalVar = 'Global'
let f1 = () => {
    let localVar = 'Local';
    let f2 = () => {
        console.log(globalVar, localVar)
    }
    return f2;
}
let res = f1();
res(); // Global Local

以上就是JavaScript中的闭包的介绍和使用教程,它的优势明显,可以大大提高代码的可读性、可复用性以及封装性。

总结:

一个普通的函数function,如果它可以访问外层作用域的自由变量,那么这个函数和周围环境就是一个闭包.
从广义的角度来说: JavaScript中的函数都是闭包;
从狭义的角度来说:JavaScript中的一个函数,如果访问了外层作用域的变量,那么他就是一个闭包.

本文标签: 标签: javaScript 闭包
责任声明:本页信息由网友自行发布或来源于网络,真实性、合法性由发布人负责,请仔细甄别!本站只为传递信息,我们不做任何双方证明,也不承担任何法律责任。文章内容若侵犯你的权益,请联系本站删除!
转载声明:本文作者 大彭Sir,如需转载请保留文章出处!原文链接请自行复制!

评论

Theme By Brief 鄂ICP备19010459号

sitemap

首页

分类

友链