[英]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;
}
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.