var a = 1;
function b(){
a = 10;
return;
var a = 100;
}
b();
为什么是1结果
登陆购买课程后可参与讨论,去登陆吧
同学你好,在b函数中,下面有用var声明a变量:
b函数预解析的时候,var声明的a会提升到前面并赋值为undefined,所以当执行代码a=10的时候,修改的是局部变量的值。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
同学你好,
1、你粘贴的这段代码如果输出b函数调用结果的话不是1,是undefined:
b函数中return 没有返回值,所以最后调用的结果为undefined。
2、如果输出a值,结果是1:
因为b中定义了a变量,那么在b中a就是局部变量,不会影响外面的全局变量a,所以最后输出全局a的时候结果仍然为1 。
如果没有解决同学的问题,可以将代码粘贴完整,详细说明一下问题,老师帮助你解决。
祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
登录后可查看更多问答,登录/注册
本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。
37 3
22 4
78 1
80 1
56 1
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号
在线咨询
领取优惠
免费试听
领取大纲
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星