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

如何理解javascript词法作用域?

如何理解javascript词法作用域?

米脂 2019-03-04 12:19:48
最近在看词法作用域,遇到一个例子不是很理解var value = 1;function foo() {    console.log(value);}function bar() {    var value = 2;    foo();}bar(); //结果是1function bar() {    var value = 2;    function foo() {         console.log(value);    }    foo();}bar();//结果是2第一个例子,在执行foo函数时先是从foo函数内部查找局部变量value,因为foo函数中没有value变量所有又向上一层查找,此时查找的是全局变量value=1,不太明白的是foo函数的上一层为什么不是bar函数?这两个例子有什么区别吗?
查看完整描述

2 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

因为第一个foo是在外面定义的,它的上一层不是bar


查看完整回答
反对 回复 2019-03-14
  • 2 回答
  • 0 关注
  • 497 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号