这里想问关于fn2中username的问题

这里想问关于fn2中username的问题

老师好,这里我知道fn2中的username的全局作用仅限于fn的作用域中,但是如果fn中没有username,fn2的username"xhei"会将最外面的username"xm"给替换掉吗

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕夭夭 2020-04-16 17:30:55

同学你好,fn2中的username中全局变量仅限于fn这句话理解的不对。另外,同学第一次问“但是如果fn中没有username,fn2的username"xhei"会将最外面的username"xm"给替换掉吗”,老师一开始就给出了作答。请再看一下哦,如果fn中没有定义变量username,那么fn2中改变的就是全局变量,即调用fn之后,全局变量username输出的就是"xhei"。建议同学自己把代码测试一下。

http://img1.sycdn.imooc.com//climg/5e98251c09c206d308170596.jpg

祝学习愉快 ~

好帮手慕夭夭 2020-04-16 15:48:30

同学你好,会的。函数中使用某一个变量时,会先在本作用域中查找。如果发现没有定义,就会向上一层作用域中查找。上一层中如果没有就会继续往上查找。所以fn中没有定义这个变量,改变的就是全局变量username哦。

http://img1.sycdn.imooc.com//climg/5e980d86091ff76205200495.jpg

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

  • 提问者 慕雪9296518 #1
    如果是这样,那怎么能叫fn2中的username中全局变量仅限于fn中呢?我的意思是如果fn中没有username这个变量,执行了一次fn()后,如果在最外面输出document.write(username),是不是得到的数字是xhei了?
    2020-04-16 16:13:54
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师