为了账号安全,请及时绑定邮箱和手机立即绑定

下面的for循环条件中的逗号起什么作用

下面的for循环条件中的逗号起什么作用

GCT1015 2018-12-20 18:15:42
for (var i = 0, j = 0; j < 5, i < 3; i++, j++) {}console.log(i * j) // 9换下位置以后for (var i = 0, j = 0; i < 3, j < 5; i++, j++) {}console.log(i * j) // 25
查看完整描述

1 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

for规范中规定 for 语句的定义如下:

for ([initialization]; [condition]; [final-expression])

   statement

for 循环继续与否取决于 condition === true


如果你在 condition 处写了 i < 3, j < 5 这种语句,这里的,属于逗号操作符。


逗号操作符的效果是对它的每个操作数求值(从左到右),并返回最后一个操作数的值。

因此,题目中两种情况下,在 i = 3, j = 3 的情况下:



console.log(j < 5, i < 3) //false

console.log(i < 3, j < 5) //true

因此第一种情况下,循环只跑到了 i = 3, j = 3;

在第二种情况下,循环即使到了 i = 3, j = 3,由于 (i < 3, j < 5) === true ,for会继续为 i累积,直到 j == 5,此时 i = 5, j = 5


查看完整回答
反对 回复 2019-01-26
  • 1 回答
  • 0 关注
  • 766 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信