• 1
  • 新人请关照

请问该函数的返回值为啥是local?

var scope = 'global'
function checkScope() {
 var scope = 'local';
 function f() {
    return scope;
 }
 return f;
}
checkScope()();
阅读 156
评论
    5 个回答
    • 539

    你用了var来声明变量,那么就可以在任何地方对该值进行重新赋值。
    如果你获取值的地方是在重新赋值后,那会返回重新赋值的结果。

    如果你用let或者const声明变量,就会有不同的效果。

      相似问题
      推荐文章