首页 > 代码库 > 函数的作用域链是由函数定义时所决定的而非调用
函数的作用域链是由函数定义时所决定的而非调用
废话不多说,上代码:
案例1
<!doctype html><html><head><meta charset="utf-8"><title>Test</title><script> function a() { var flag = true; b(); } function b() { console.log( flag ); } a(); </script></head><body></body></html>
输出结果的截图如下:
期望值是:true,但是结结果很悲剧。
案例2
<!doctype html><html><head><meta charset="utf-8"><title>Test</title><script> function a() { var flag = true; function b() { console.log( flag ); } b(); } a(); </script></head><body></body></html>
输出结果的截图如下:
变化:
把函数b的定义放到了函数a的内部定义,输出结果终于如愿了。
综述:
函数的作用域是由函数定义时所决定的。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。