2024年06月25日 建站教程
什么是es6闭包吗,es6闭包语法怎么运用,下面web建站小编给大家简单介绍一下!
什么是es6闭包吗
在es6中,闭包(closure)指有权访问另一个函数作用域中变量的函数。简单理解:一个作用域可以访问另外一个函数内部的局部变量。
闭包:在一个函数内部创建另一个函数,把内嵌的函数称为闭包,它可以访问外部函数的局部变量
闭包的主要作用:延伸了变量的作用范围。
es6闭包语法介绍
通过闭包实现迭代
let arr = ['vue','jquery','css3'] function fn(temp){ //外部函数的返回值是闭包 let i = 0 //定义闭包:迭代获取数组元素并返回 return function(){ return temp[i++] || '数组已经遍历结束' } } let f1 = fn(arr) console.log(f1()) //vue console.log(f1()) //jquery console.log(f1()) //css3 console.log(f1()) //数组已经遍历结束
将闭包封装到对象中
function fun(){ let name = 'web建站' setName = function(na){ //setName是闭包,用来设置外部函数的变量值 name = na } getName = function(){ //getName是闭包,用来返回外部函数的变量值 return name } //外部fun函数的返回值,将闭包封装到对象中返回 return { setUserName:setName, getUserName:getName } } let obj =fun() //将fun函数返回值(对象)赋给obj console.log('用户名:',obj.getUserName()) //web建站 obj.setUserName('学习vue') console.log('用户名:',obj.getUserName()) //学习vue
本文链接:http://so.lmcjl.com/news/7251/