1.代码执行过程
通常 由外至内
闭包 由内至外
2.闭包概念
闭包既是函数里面套函数,通过调用函数的方法来获取和更改数据,类似get().set()方法。
只要使用了回调函数即视作使用了闭包,函数在另外一个函数里执行,则这个函数所处的函数作用域为闭包
回调函数:函数执行完后执行的函数 函数作为另外一个函数的参数为回调
//回调
function timer(fn) {
console.log('1---------');
setTimeout(() => {
console.log('2----------');
fn();
}, 1000);
}
//闭包
function fun1() {
let num = 100;
console.log('0-------------');
// () =>{} 为箭头函数
timer(() => {
console.log('3------------');
console.log(num + '1');
})
}
fun1();
转载一篇好文:https://blog.csdn.net/qq_46053824/article/details/106951240