闭包是在什么时候产生的?是函数定义时还是执行时?
===补充=====
我的理解
===补充=====
下面的截图来自《你不知道的JavaScript(上卷)》,click绑定的回调中并没有自由变量,为什么还说是闭包?
闭包是在什么时候产生的?是函数定义时还是执行时?
===补充=====
我的理解
===补充=====
下面的截图来自《你不知道的JavaScript(上卷)》,click绑定的回调中并没有自由变量,为什么还说是闭包?
闭包,实际上就是指闭包函数,指的是一个函数使用了函数作用域外的变量时,该函数被称之为闭包函数。比如说:
let name = 'test';
// 这个函数就可以被称为 闭包函数
// 无论是否被调用
function say(){
// 引用了 全局变量 name
console.log(name);
}
10 回答11.2k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
作用域是在函数定义的时候就产生了,对外层作用域内变量的引用产生了闭包