8分22秒 老师我这里没明白

8分22秒 老师我这里没明白

第一个例子 var a =1
function fn() { console.log(a);
Var a=2; }
fun ()
console.log(a)

这里的第一个输出 是undefined

第二个例子
Var a=1
function fn() { console.log(a);
a=2; }
fun ()
console.log(a)

第一个console.log(a)= 1,

为什么会有这样的区别呢 明明第一个console. log(a) 之前写的都是一样的

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

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

1回答
好帮手慕糖 2020-07-19 18:00:21

同学你好,关于你的问题,回答如下:

1、首先,如下,函数中的var,应该小写;声明的函数是fn,调用的时候,也应该是fn;且调用函数的括号,应该在中文状态下输入。例:

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

2、函数中,若是有使用var声明的同名的局部变量,就不会往外去访问外面的变量。

所以这里第一个案例中,不会去访问还是外的a,但是函数内,a的输出又在声明之前,所以输出的话,是undefined。

3、第二个例子中,函数内,没有使用var声明的同名的变量,所以访问外部的全局变量了。

另,老师在本节课中的8分22秒钟没有找到这部分代码哦,同学可以再确认下哦。

祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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