【发布时间】:2014-12-03 08:57:59
【问题描述】:
从性能和“最佳做法”的角度来看,我都很好奇。我在我的 JavaScript 中使用了很多 jQuery,并且经常发现自己将 jQuery 对象作为参数传递给我正在编写的函数。传递选择器字符串而不是实际的 jQuery 对象作为参数是否更有效/更有效?这只是风格上的差异,还是有充分的理由使用一种方法而不是另一种方法?
在参数中使用 jQuery 对象:
function updateSelectOptions(optionsData, $selectElement) {
// function code
}
或者使用选择器字符串作为参数:
function updateSelectOptions(optionsData, selectorString) {
var $selectElement = $(selectorString);
// function code
}
【问题讨论】:
-
据我所知,jQuery 不会缓存选择器结果,所以我建议不要这样做。它也不提供灵活性来允许您传递尚未添加到 DOM 的元素。
-
Javascript 通过引用传递对象(不是真的,通过共享调用,但足够接近)。传递引用意味着我不必像传递选择器那样重新输入 jquery 来定位元素并构建对象。第一个会快得多。
标签: javascript jquery