大家帮我看一下,这个的执行结果是什么?为什么?

functionfn(a){console.log(a);vara=2;functiona(){console.log(a);}}fn(1);... function fn(a){
console.log(a);
var a = 2;
function a(){
console.log(a);
}
}
fn(1);
展开
 我来答
特中戏0H78a
2016-06-22 · TA获得超过292个赞
知道小有建树答主
回答量:293
采纳率:0%
帮助的人:232万
展开全部
结果打印出
function a(){ console.log(a); }

这里涉及到一个变量(函数)定义提升的概念
函数a定义虽然在后面,但解析器会把它提升到前面
所以console.log(a)的时候函数a定义已经执行了,就会打印出a函数的定义代码
再比如下面类似代码:
a();
function a(){alert(1);}
是一样的道理
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式