簡體   English   中英

Jquery函數式編程風格

[英]Jquery functional programming style

是否有一種更優雅的方式來編寫這種函數而無需初始化數組:

function getStuff () {
    var some_array= [];

    $("#some-id ul li span.key").each(function() {
          some_array.push($(this).text());
    });

    return some_array;
}

jQuery.map

function getStuff () {
    return $.map($("#some-id ul li span.key"), function(el) {
          return $(el).text();
    });
}

小提琴

性能方面,差異很小。 此外,如Lix所述,選擇您認為更易讀和可維護的方法。 最后,兩者都將最終創建一個數組,迭代元素,將字符串值推送到數組並返回數組。

另一種更實用的感覺方式可能是:

定義“方法”功能:

var method = function (method) {
    return function (item) {
        return $(item)[method]();
    };
};

你可以像這樣使用它:

var text = method('text');
var html = method('html');
var fadeIn = method('fadeIn');

要重新運行getStuff函數:

var getText = function (arr) {
    return $.map(arr, text);
};

$.map遍歷傳入的數組,應用從var text = method('text')返回的函數,這只是執行$(array item).method()

我只是把它們放在一起,展示了一種可以使用這些技術的方法。 您可能會以不同的方式命名,並將“方法”函數定義為自定義庫/幫助程序,以便在應用程序范圍內使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM