在深入浅出ES6中函数扩展章节中,提到函数参数的默认值是一个函数时,也会形成一个单独的作用域。匿名函数里面的foo指向函数外层
foo
代码如下:
foo指向外层的全局变量foo,因此输出outer。
outer
let foo = 'outer'; function bar(func = x => foo) { let foo = 'inner'; console.log(func()); // outer } bar();
然而 为什么控制台输出的结果还是 inner ???
周剑秋
相关分类