核心提示:今天无意中看到这个题:for ( var i = 0 , j = 0 ; i6 ,j10; i++,j++) {k = i + j ;}console.log(k);结果第一反应是 10然而输出一看 ...
今天无意中看到这个题:
for ( var i = 0 , j = 0 ; i < 6 ,j < 10; i++,j++) {
k = i + j ;
}
console.log(k);
结果第一反应是 10
然而输出一看 18
于是问了下百度是这样说的:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> </body> </html> <script> for ( i = 0, j = 0 ; i < 6, j < 10 ; i++ , j++ ) { k = i + j ; } console.log(k);//18 // 原因是循环继续的判断依据以分号前的最后一项为准 // 如以上是判断 j < 10 的 所以前面的判断条件 (j < 6)不会执行 // 不管循环几个数,都是以分号前的最后一项为准 for (i = 0, j = 0 , a = 0; i < 5, j < 11, a < 16; i++ , j++ , a++) { k = i + j + a ; } console.log(k);// 45 </script>