<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