猿问

关于JS的问题

前段时间面试时遇到了这样一个问题:

 var num=0; for(var i=0;i<10;i++)
    {        var num=1;        num+=i;
    }
 console.log(num);
我的理解是开始声明了一个全局变量num,然后又在函数内部声明了一个局部变量num,并对之进行操作,最后的console.log输出的应该是全局变量num,所以结果应该是0,但是正确答案是9,这让我很不解,求好心人解释一下其中的原理。


HUH函数
浏览 500回答 1
1回答

qq_遁去的一_1

首先最后答案应该是10;原因:1.变量重复声明会被忽略,但赋值不会,所以每次循环你的num开始都是12.i<10,i最后拿到的是9,1+9=10
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答