为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript的作用域链是在函数定义时确定还是在调用时?

JavaScript的作用域链是在函数定义时确定还是在调用时?

凤凰求蛊 2018-11-27 18:15:28
看到如下的一个闭包问题var x=10;function fn() {    console.log(x);}function show(f) {    var x=20;    (function() {        f();    })();}show(fn);打印的是10而不是20,x在取值时不是沿着作用域链向上寻找吗,如果作用域链是在函数创建时确定结果就是10,如果是在调用时确定就应该是20,有没有关于作用域链准确的说法?这里准确的作用域链应该是什么样的?fn和show处于同一级还是fn在show内?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 467 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信