您现在的位置:首页 >> 前端 >> 内容

解答一道for循环的题目,for循环的坑

时间:2018/6/5 15:06:06 点击:

  核心提示:今天无意中看到这个题: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>  

作者:网络 来源:不详