- 所谓冒泡指的就是事件的向上传导,当后代元素上的事件被触发时,其祖先元素的相同事件也会被触发
- 在开发中大部分情况冒泡都是有用的,如果不希望冒泡发生可以通过事件对象取消冒泡 event.cancelBubble=true
首先创建一个函数专门用作冒泡排序使用,函数接收一个叁数,也就是我们的数组
现在我们需要创建一个变量作为临时储存数据的地方,因为我们等下需要进行变量的对调,还要需要遍历,因此我们需要创建一个for循环,因为它们需要两两对比;
首先要创建一个外围的for循环来确定整个循环的次数,也就是遍历多少轮,而且这个外围的for循环最重要的作用就是使下一轮不会重复对比最后一个元素,因为每一轮下来最后一个元素都是最大的数,还有一点长度需要减去1。
比如这里数组长度为6,正常来说就是遍历0到5次,都是外循环不作为指针使用,因此我们只需要遍历0到4次就行了,最后一个元素就不需要遍历了;
现在我们需要创建一个内部的for循环了,也就是嵌套循环了,这个内部的循环就需要自己担任两个指针的角色,而且长度需要减去i,也就是说i循环遍历0到4次,j循环分别遍历0到4次,0到3次,0到2次和0到1次,随着每一轮下来,我们都需要不断缩小目标,不必要再去对比最后那个数了,这就是减去i的作用了,
现在就可以写条件语句了,因为我们内部循环兼顾两个指针的角色因此可以利用+1来进行对比,而且因为我们前面已经设置了长度-1缘故,不用担心对比最后会超出数组范围。
还有要记得得返回数组,因为这里创建的是函数,最后结果图如下:
还有比如由几个div组成的冒泡结果,