看到函数声明这块有个函数不是很理解

这是js高程上面的一个例子
看到函数声明有一个代码

https://img1.mukewang.com/5c29ba060001da7a01690164.jpg

说是这段代码无效语法,大多数浏览器会返回第二个声明,firefox会返回第一个声明,这是为什么?
如果改成函数表达式形式的就可以了,这又是为什么?

https://img.mukewang.com/5c29ba100001c25e01900172.jpg

千万里不及你
浏览 418回答 1
1回答

守候你守候我

js是有声明提前的!!!function会在声明时直接提到作用域顶端。if中不存在作用域,所以两个function是一个作用域,第二个会替掉第一个。! 而你第二段代码,先声明了变量sayhi,在if判断后才对sayhi进行赋值,
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript