-
定义:闭包 个人理解就是函数里面又套了个函数。
-
因为函数外部是访问不了函数内部的数据的,此时使用闭包就可以延长作用域链,函数内部的函数可以访问到外层函数的数据。闭包的好处还有可以封装函数,提高复用性;减少函数命名污染。
-
不过因为闭包内部的函数会一直存在,会导致内存泄漏,消耗性能。
// 第一种
function get1(){
var num = 250
return function get2(){
console.log(num)
}
}
var fn = get1()
fn() // 250
get1()() // 250
// 第二种
function get1(){
var num = 250
function get2(){
console.log(num)
}
get2()
}
get1() // 250
// 还可以利用匿名函数和自调用函数
// 匿名函数的写法是(function(){}),要加括号。
复制代码
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END