首页 > 试题广场 >

写出程序运行的结果() var k = 0; for(var

[单选题]
写出程序运行的结果()
var k = 0;
for(var i=0,j=0;i<10,j<6;i++,j++){
    k += i + j;
}
console.log(k)


  • 0
  • 2
  • 30
  • 60
感觉其他回答可能没有讲到点上 for的第二项对应的布尔值决定了循环是否继续。本题中第二项是逗号分隔的表达式,其返回值是数个表达式的最后一项。也就是说,只有j<6是循环继续的条件。 如果i<10和j<6换个位置,结果就不一样了。
发表于 2020-02-20 19:08:15 回复(5)
  • 考察知识点:逗号表达式只有最后一项是有效的,即对于i<10,j<6; 来说,判断循环是否结束的是 j < 6;而对于 j<6,i<10; 来说,判断循环是否结束的是 i < 10。
    var k = 0;
    for(var i=0,j=0;i<10,j<6;i++,j++){
      k += i + j;
    }
    console.log(k)    // 打印结果为 30
    var k = 0;
    for(var i=0,j=0;j<6,i<10;i++,j++){
      k += i + j;
    }
    console.log(k)    // 打印结果为 90
发表于 2020-09-12 23:09:45 回复(4)
考察知识点: 逗号表达式 逗号表达式只有最后一项是有效的
发表于 2020-05-15 22:42:01 回复(0)
0+0=0 1+1+0=2 2+2+2=6 3+3+6=12 4+4+12=20 5+5+20=30 下一步j=6循环结束
发表于 2019-08-16 08:54:47 回复(2)
学到:逗号表达式后面那个才是有效的判断循环的条件
发表于 2021-07-23 19:56:41 回复(0)

尝试改为第二个条件i<6,j<10, 结果为90。

第二个条件判断的是布尔值,取逗号后的最后一个运算符来判断

发表于 2020-03-01 01:11:25 回复(2)
// var a = 1,2,3;//语法错误  稍微修改了下
var a = (1,2,3); //3
var b = (a++,a);//4

var k = 0;
for(var i=0,j=0;i<2,j<3;i++,j++){   //中间判断语句是两个表达式,通过逗号连接。 
//只看之后的一个表达式的值,只要当最后一个表达式的值为false时,才结束循环
    k += i + j;
}
console.log(k);6

秒啊

编辑于 2022-03-25 20:13:53 回复(0)
豆号表达式只有最后一项有效,分号为每一项有效
发表于 2021-04-12 13:56:21 回复(0)
逗号表达式只有最后一项是有效
发表于 2022-04-05 17:01:28 回复(0)
我倒是没考虑什么逗号表达式,就心想着,到6的时候,j已经不满足了,那么就结束了。
i和j中任意一个不满足,就结束循环
发表于 2022-02-20 21:55:32 回复(0)
逗号表达式只有最后一项是有效的,即对于i<10,j<6; 来说,判断循环是否结束的是 j < 6;而对于 j<6,i<10; 来说,判断循环是否结束的是 i < 10。
发表于 2021-09-14 19:45:05 回复(0)
其实只要***<6 说明j就到5  i 到5也就结束了 其实就是  0+0 1+1 2+2 3+3 4+4 5+5  = 0+2+4+6+8+10 =30 
发表于 2021-07-14 16:29:51 回复(0)
到6就结束了
发表于 2022-10-19 18:56:46 回复(0)

var k=0;
for(var i=0,j=0;i<10,j<6;i++,j++){
    k+=i+j;
    console.log(k)
}


发表于 2022-09-26 17:32:50 回复(0)
逗号表达式只有最后一项是有效
发表于 2022-07-26 20:31:32 回复(0)
for循环结束条件是看i或j的值,明显j=6为结束,因为i和j都是从0递增1,所以k=(0+1+2+3+4+5)x2=30
发表于 2022-05-15 23:51:31 回复(0)
我服了
发表于 2021-07-09 17:27:30 回复(0)
审题不清,第一眼没看见逗号,以为都是分号来着
发表于 2020-08-10 09:58:20 回复(0)
第二项是逗号分隔的表达式,其返回值是数个表达式的最后一项。即只有j<6是循环继续的条件。
发表于 2020-05-11 17:57:24 回复(0)
for循环结束条件是看i或j的值,明显j=6为结束,因为i和j都是从0递增1,所以k=(0+1+2+3+4+5)x2=30
发表于 2020-01-30 20:10:54 回复(1)