> 影视
js中的闭包是什么意思(js中的闭包呵呵彡的博客-CSDN博客)
导语:Js中的闭包
闭包 是前端面试必问的一个知识点
one: 什么是闭包
two: 闭包的作用是什么
一、变量的作用域
全局变量 和 局部变量
在Js中函数内部可以直接读取 全局变量,而函数外部 自然无法读取 函数内部的局部变量
栗子1:var name = &39;; // name为全局变量function getName() { console.log(name)}getName() //itxing
栗子2:function getName() { var name = &39;; // 局部变量}console.log(name) //undefined
二、什么是闭包
MDN对其的理解
闭包是一个函数,特指那些可以访问独立变量的函数(这种独立变量在本地使用,但是却定义在一个封闭的作用域),换句话说这类函数能够记忆创建它们时的环境(很难理解)
栗子3:function Person() { var name = &39;; function getName() { console.log(name) } return getName}var man = Person();man() // &39;
函数getName能够访问函数Person内部的变量,那么函数getName和变量name这整个环境就可以称之为闭包。在这里man就成了一个闭包,这个闭包由getName()和字符串“itxing”组成。
闭包就是能够读取其他函数内部变量的函数
三、闭包的优缺点
优点:延长外部函数局部变量的生命周期
缺点:容易造成内存泄漏
本文内容由小余整理编辑!