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

这道题的输出结果是什么?为什么?求助……

这道题的输出结果是什么?为什么?求助……

智慧大石 2019-03-07 17:13:37
var value = 1;function foo(){    console.log(value);}function bar(){    var value = 2;    foo();}bar();
查看完整描述

3 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

答案是1。函数的作用域在定义时确定,而不是在运行时确定。所以bar里面的value不会影响到foo的作用域。


查看完整回答
反对 回复 2019-03-14
?
临摹微笑

TA贡献1982条经验 获得超2个赞

如楼上所说答案是1,建议去看下闭包相关的内容.
在函数foo()跟bar()里面是有各自的函数作用域的.
我举个栗子给你说明吧.
$(document).ready(function(){
function foo(){
}
});
foo();// foo is not defined.
这样是会报错的,因为作用域不一样了。

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

添加回答

举报

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