回調函數及數組中sort()方法實現排序的原理

一、回調函數:把一個方法A當一個參數值傳遞到另一個函數B中,在B執行的過程中咱們隨時根據需求讓A方法執行;
 
什麼是回調 :它是異步編程基本的方法,須要異步處理的時候通常採用後續傳遞的方式,將後續邏輯做爲起始函數的參數。
PS:典型的異步方法有:setTimeout,回調函數,ajax,事件;
 
回調函數:
 
function A (){
 
}
 
function B (fn) {
     fn();
     fn();
}
 
B(A);

 

 
 
二、數組sort()方法中回調函數實現排序的原理:
 
var arr = [2,34,242,12,3,2,23,3];// 定義一個數組
 
arr.sort(function (a,b) {
     // a -->表明每一次執行匿名函時候,找到的數組中的當前項;
     // b -->表明當前項的後一項;
 
     return a - b; // 升序時: 若是a>b,那麼返回的值>0,a和b交換位置;
return b - a; // 降序時: 若是b>a,那麼返回的值>0,a和b交換位置; //-> 原理:return的值多是一個大於0的數也或者多是小於等於0的數,若是return後的值大於0則讓數組a和b交換一下位置;小於等於0,則原來數組中的位置不變; return 1; // 表示無論a和b誰大,每一次都返回一個恆大於0的數,也就是說每一次a和b都要交換位置,最後的結果就是原有數組倒過來排列了,至關於數組的reverse()方法; })

 

 PS:以上寫法若有錯誤歡迎指正,^^
相關文章
相關標籤/搜索