首页 > JS for循环有关变量类型的问题

JS for循环有关变量类型的问题

<script>
    var num = 100;
    for (var i=num-5;i<num+5;i++){
        // console.log(typeof(i));
        console.log("i");
    }
</script>

这段代码控制台会输出10次i;

<script>
    var num = "100";
    for (var i=num-5;i<num+5;i++){
        // console.log(typeof(i));
        console.log("i");
    }
</script>

这段代码会输出几百次i;是为什么??区别仅仅是赋值给变量num的是字符串或数字


你控制台输出100+5和"100"+5就知道答案了


你真逗!^_^


num+5

1005


"100" - 5是95,而"100" + 5是1005


因为"100" + 5 = "1005",强制类型转换后你的代码实际上是:

...
for(var i = 95; i < 1005; i++){
...

因为"100" - 5是95,而"100" + 5是1005

【热门文章】
【热门文章】