前端 js高階函式

2021-07-09 03:49:51 字數 1799 閱讀 2377

在這裡所謂高階函式,只是對函式方法進行組裝和高階。。。

1、sort() 對陣列進行排序

document.write([1,2,5,4].sort());
這是最簡單不過的陣列排序語句了。實際上 array.prototype.sort() 還能夠支援乙個可選的引數「比較函式」,其形式如 sort(fn),fn是乙個函式型別(function)的值

2、sort()使用匿名函式制定排序演算法

var 

a = new

object();

var

b = new

object();

var

c = new

object();

a.id =

1;b.id =

2;c.id =

3;a.date = new

date(2006,3,12);

b.date = new

date(2006,1,15);

c.date = new

date(2006,2,10);

// 存放在

arr陣列中

var

arr

= [a, b, c];

使用預設的排序

console.log(arr.sort());
這時看到id的順序是:1 2 3

加入新排序演算法後

arr.sort(

function (x

,y)

);console.log(arr);

輸出的id順序是:2 3 1

3、定義標籤

replace() 替換字串

function 

wrap(tag) }

// 演示

var

b =

wrap('b');

document.write(b('

粗粗體字

'));

// 完全等價於

document.write('

');document.write(wrap('b')('

粗體字'));

4、自定義函式進行陣列過濾

function 

filter(arr

,callback

) }

return

out;

}console.log(filter([1,2,3,4,5], function(item

) )); // [1, 3, 5]

安全高階

function 

map(arr

,callback

)console.log(map([1,2,3,4,5], function(item

) )); // [3, 4, 5, 6, 7]

對陣列元素進行操作運算(雖然比較繞人,但看了這三個感覺都差不多

function 

fold(arr

,callback

,b) else

for(;i

<

arr.length;i

++)

return

x;//

返回處理後的資料

}console.log(fold([1,2,3,4,5], function(a

, b) , 0)); // 15

謝謝關注~

js函式高階

fn fn.call 普通函式呼叫 則函式中this window obj.sayhello 物件呼叫 函式中this 該物件 new student 構造函式呼叫 this 例項物件 btn.onclick fun 通過事件觸發 this指的是繫結事件物件 setinterval function...

js高階函式

filter用於對陣列進行過濾。它建立乙個新陣列,新陣列中的元素是通過檢查指定陣列中符合條件的所有元素。注意 filter 不會對空陣列進行檢測 不會改變原始陣列 其中,函式 function 為必須,陣列中的每個元素都會執行這個函式。且如果返回值為 true,則該元素被保留 函式的第乙個引數 cu...

js 函式高階

所有例項物件都有乙個特別的屬性 顯式原型與隱式原型的關係 原型鏈object.prototype function.prototype.proto 理解分類 生命週期 包含哪些屬性 函式執行上下文建立和初始化的過程 函式 測試題1 function a var a console.log typeo...