新手头疼问题:对于闭包和作用域的理解。
闭包是作用域应用的特殊场景。 js中常见的作用域包括全局作用域、函数作用域、块级作用域。要知道js中自由变量的查找是在函数定义的地方,向上级作用域查找,不是在执行的地方。 常见的闭包使用有两种场景:一种是函数作为参数被传递;一种是函数作为返回值被返回。
// 函数作为返回值 function create() { let a = 100; return function () { console.log(a); }; } const fn = create(); const a = 200; fn(); // 100 // 函数作为参数被传递 function print(fb) { const b = 200; fb(); } const b = 100; function fb() { console.log(b); } print(fb); // 100
网友回答文明上网理性发言 已有0人参与
发表评论: