首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQuery: serializeArray()性能

JQuery: serializeArray()性能
EN

Stack Overflow用户
提问于 2016-01-12 22:26:49
回答 1查看 213关注 0票数 0

我找到了两种不同的方法来查找输入到表单中的数据,但不确定使用哪一种方法。我将使用相当大的形式,所以性能是重要的。第一个选项使用.serializeArray(),第二个选项使用.find().val()

备选案文1:

代码语言:javascript
复制
var values = {};

$.each($growDetailsForm.serializeArray(), function (i, field) {
    values[field.name] = field.value;
});
var getValue = function (valueName) {
    return values[valueName];
};

var first = getValue("first-name");
var first = getValue("last-name");
...

备选案文2:

代码语言:javascript
复制
var $form = $('form');
var $first = $form.find('.first-name').val();
var $last = $form.find('.last-name').val();
...

有人知道哪种选择更快吗?我假设选项1更快,因为我相信它一次获取所有的值并将它们放入数组中,从而使您可以搜索一个较小的对象。选项2每次查找某个值时都会搜索整个DOM,这使我认为它要慢一些。不过,我不是专家,所以我没有真正的自信。如果我只搜索两个值,这可能不会有太大的区别,但我将寻找更多的值。任何洞察力都是值得赞赏的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-12 22:38:14

除非您的表单很大(读起来太大了!)这不会产生任何明显的差别,但如果您想亲自查看,您可以找到这里

为了以后的维护,我更倾向于代码的可读性,所以第二种方法对我来说似乎更好,尽管您可以将其进一步简化为$('.first-name').val()

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34754947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档