为什么当函数有参数a时,函数中的a=3是局部变量,它并没有var申明,为什么不是全局变量

为什么当函数有参数a时,函数中的a=3是局部变量,它并没有var申明,为什么不是全局变量

function fn(a){

docuemnt.write(a)

a=3

}

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

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

2回答
好帮手慕星星 2020-07-02 18:34:23

同学你好,如果函数参数与函数中定义的变量不一致,如下:

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

形参仍然是局部变量,外面获取不到;b是全局变量,外面可以获取

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

自己可以测试下,祝学习愉快!

好帮手慕星星 2019-03-11 18:09:09

你好,就是这样规定的哦,当函数参数与函数中定义的变量一致时(没有使用var声明),那么变量就是局部的。

祝学习愉快!

  • 那要是函数参数与函数中定义的变量不一致呢,老师
    2020-07-02 18:15:07
  • 你好,老师在上面进行了回复,可以查看下。
    2020-07-02 18:34:40
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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