我在做一个javascript的练习,应该是出来3个,但我只出来1个,为什麼?谢谢

2025-02-23 11:23:43
推荐回答(6个)
回答1:

你的这种写法有点...看起来有点不规范..不过这个没什么

for ( i=99; i<=101; i++ )
{ //建议加上括号
if(i%2==0) //多了个==号
{
console.log="Even!"
}
else
{
console.log="Odd!"
}
}

你在这里对这个变量进行赋值操作 ,其实会有个问题,就是最后一次操作覆盖了前面一次操作
懂吧...
i = 99的时候
console.log="Odd!"

i = 100的时候
console.log="Even!"

然后
i = 101的时候
console.log="Odd!"
最后这一次还是给的这个... 你可以直接用alert打印出来看看

回答2:

你也太大意了,for循环没加大括号,for循环执行3次都为空,然后i=101,执行odd这句
for ( i=99; i<=101; i++ )

if(i%2==0)
{
console.log="Even!"
}
else
{
console.log="Odd!"
}


楼上和楼下的2位,不要误导新人好吗。当for循环没加括号,执行结果为空,循环3次i=101,然后if判定,因为不能被2整除,输出odd!

什么每次都赋值覆盖,我都不知道怎么说好了

回答3:

1.for循环没有{}
2.i 没有加 var 这样i成全局变量了
3.console.log 用来在控制台出去信息的 第一次看到这种写法
console.log="Even!" 应该是console.log("Even!" );
4.你这里没有必要 使用=== 吧 改为== 就可以了

你的代码可以改成这样,据说效率会高点

for ( var i=99; i<=101; i++ ) i%2==0?console.log("Even!"):console.log("Odd!");

回答4:

JavaScript 我不是很懂 但是 %这个符号应该是求余符号,只有当i = 100 才会出现 i%2 = 0 所以只执行一次

回答5:

你循环结束console.log="Odd!"。因为每次循环都给 console.log赋值, 最后你获取 console.log的值肯定是一个了。

回答6:

写的什么玩意太不规范了
function myMethod(){
for ( i=99; i<=101; i++ ){
if(i%2===0) {
console.log="Even!"
} else{
console.log="Odd!"
}
}
}