在這裡所謂高階函式,只是對函式方法進行組裝和高階。。。
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(輸出的id順序是:2 3 1function (x
,y)
);console.log(arr);
3、定義標籤
replace() 替換字串
function4、自定義函式進行陣列過濾wrap(tag) }
// 演示
var
b =
wrap('b');
document.write(b('
粗粗體字
'));
// 完全等價於
document.write('
');document.write(wrap('b')('
粗體字'));
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...