关于ES6函数作用域问题

在深入浅出ES6中函数扩展章节中,提到函数参数的默认值是一个函数时,也会形成一个单独的作用域。匿名函数里面的foo指向函数外层

代码如下:

foo指向外层的全局变量foo,因此输出outer

let foo = 'outer';
function bar(func = x => foo) {
  let foo = 'inner';  
  console.log(func()); // outer
  }
bar();


然而 为什么控制台输出的结果还是 inner ???

https://img2.mukewang.com/5b0be67500014d4806080301.jpg


淡水狗
浏览 940回答 1
1回答

周剑秋

我打印是outer
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript