1. 程式人生 > >JavaScript核心語法學習部分(六)

JavaScript核心語法學習部分(六)

arr 棧操作 push 自動 bsp () 聲明 scrip 傳遞

arr.sort():默認安字符串升序排列;

自定義排序:2步:首先定義比較器函數!其次將比較器函數傳遞給sort方法!

什麽是比較器?定義任意兩值比較策略的方法

js中方法也是一個比較器,方法名就是指向方法對象的變量名!

function compare(a,b){return a-b;}//可以定義在使用前後的任何位置,原因是var聲明和function聲明自動提前!

相當於var compare=new Function("a","b","return a-b");//必須定義在使用之前,原因僅聲明提前,賦值不提前!

arr.sort(compare);將方法作為對象傳遞是,僅使用方法名,後不加圓括號。

降序:顛倒比較結果,可以導致升序變降序。

升序:function compare(a,b){return a-b;}

顛倒:function compare(a,b){return -(a-b);}

棧和隊列:

什麽是棧?先進的後出,棧其實就是數組,只不過用一對兒方法模擬了棧的操作!

結尾入棧出棧:元素下標始終不變

入棧:arr.push() 出棧:var last=arr.pop();

開頭入棧出棧:所有元素下標歲入棧出棧操作而變化

第一個元素[0],始終最新

只能從數組一端出棧,入棧。另一端封閉!

JavaScript核心語法學習部分(六)