js的双for循环,求详细解释

JavaScript018

js的双for循环,求详细解释,第1张

这个是冒泡排序法的经典例子。

运行完后num数组会被被排序

for循环运行的次序是,外层先走一步,然后内层走完,然后外层再走一步,内层再走一圈。

具体来说,

i=0: j依次遍历0,1,2,3,4,5,6,7,程序比较num[0]和num[0-7],只要发现num[0]比某一个数大,就把num[0]和此数交换

这样一来当i=0的时候,j走了一圈后的结果就是把数组的第一个数,也就是num[0]弄成了整个数组中最小的数(也就是3)

接下来i=1j依次遍历1,2,3,4,5,6,7

结果是num[1]变成剩下数中最小的(也就是5)

然后i=2j遍历2,3,4,5,6,7

i=3;j走过3,4,5,6,7

.

.

.

最后的结果就是数组被排序了。

var txt, txt1,

    ds = [1, 2, 3, 4, 5], ds1 = [4, 5, 6, 7]

for (var i = 0, length = ds.length i < length i++) {

    txt = '我是第一重for,值为:' + ds[i]

    for (var j = 0, length = ds1.length j < length j++) {

        txt1 = '我是第二重for,值为:' + ds1[j]

        console.log(txt + ' ---- ' + txt1)

    }

}

不然把你意思再详细点?

break这个语句是跳出当前循环的意思,也就是跳出第二个for循环,终止循环。

当外循环i=5时,

内循环从j=0 ---j=4都是执行的,但是当j=5时,内循环终止了,以及后边的j=6,7,8,9都不再执行;紧接着继续外循环i=6,继续内循环