Open songning0605 opened 4 years ago
参考:搞懂闭包
闭包是指有权访问另一个函数作用域中的变量的函数。
用代码表示就是:函数A可以访问函数B中的变量:
function B() { var out = 'B'; function A() { console.log(out); } }
闭包的原理,就是把闭包函数的作用域链保存了下来。作用域链涉及到的知识点有 执行上下文,作用域链,垃圾回收
闭包相关的知识点可以查看 冴羽的博客
面试回答技巧:
思考题
function fun(n, o) { console.log(o) return { fun: function (m) { return fun(m, n) } } } // ?处 的打印结果 var a = fun(0) // ? a.fun(1) // ? a.fun(2) // ? a.fun(3) // ? var b = fun(0).fun(1).fun(2).fun(3) // ? var c = fun(0).fun(1) // ? c.fun(2) // ? c.fun(3) // ?
参考:搞懂闭包
概念
闭包是指有权访问另一个函数作用域中的变量的函数。
用代码表示就是:函数A可以访问函数B中的变量:
原理
闭包的原理,就是把闭包函数的作用域链保存了下来。作用域链涉及到的知识点有 执行上下文,作用域链,垃圾回收
面试回答技巧:
思考题