js高階函數(shù)

一、函數(shù)作為參數(shù)傳遞

1、回調(diào)函數(shù) ajax異步請求

// callback為待傳入的回調(diào)函數(shù)
var getUserInfo = function(userId, callback) {
     $.ajax("http://xxx.com/getUserInfo?" + userId, function(data) {
        if (typeof callback === "function") {
            callback(data);
        }
    });
}

getUserInfo(13157, function(data) {
    alert (data.userName);
});

2、Array.prototype.sort

//從小到大排列
[1, 4, 3].sort(function(a, b) {
    return a - b;
});
// 輸出: [1, 3, 4]

//從大到小排列
[1, 4, 3].sort(function(a, b) {
    return b - a;
});
// 輸出: [4, 3, 1]

二、函數(shù)作為返回值輸出

判斷數(shù)據(jù)的類型

var Type = {};

for (var i = 0, type; type = ['String', 'Array', 'Number'][i++];) {
    (function(type) {
        Type['is' + type] = function(obj) {
            return Object.prototype.toString.call(obj) === '[object '+ type +']';
           }
       })(type)
};

Type.isArray([]);     // 輸出:true
Type.isString("str");     // 輸出:true

單例模式

var getSingle = function(fn) {
    var ret;
    return function() {
        return ret || (ret = fn.apply(this, arguments));
    };
};

其他運用
http://www.cnblogs.com/laixiangran/p/5468567.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.map: var arr=[1,2,3,4]; arr.map(function_name); 這傳入的方法會...
    thebestduleisi閱讀 447評論 0 0
  • 不要使用 iterators。使用高階函數(shù)例如map()和reduce()替代for-of。注:為什么?這加強了我...
    阿良ALeon閱讀 404評論 0 0
  • 1.代碼 2.輸出結(jié)果 3.分析 func2 = func.before(function(){console.l...
    積微微微閱讀 538評論 0 1
  • 工廠模式類似于現(xiàn)實生活中的工廠可以產(chǎn)生大量相似的商品,去做同樣的事情,實現(xiàn)同樣的效果;這時候需要使用工廠模式。簡單...
    舟漁行舟閱讀 8,115評論 2 17
  • 體驗:發(fā)現(xiàn)學(xué)習(xí)全員生發(fā)回來后,大家都在改變,變的熱情高昂了!以前早上開早會自己臉上的笑容都沒有,現(xiàn)在掛滿了一臉。 ...
    曹清蘭閱讀 187評論 0 1

友情鏈接更多精彩內(nèi)容