我对表现和“最佳实践”的立场感到好奇。我在JavaScript中使用了很多jQuery,并且经常发现自己将jQuery对象作为参数传递到我正在编写的函数中。传递选择器字符串而不是实际的jQuery对象作为参数会更有效率吗?这只是一种风格上的差异,还是有什么好的理由使用一种方法而不是另一种?编写JavaScript函数 - 我应该将jQuery对象作为参数传递吗?
使用jQuery对象参数:
function updateSelectOptions(optionsData, $selectElement) {
// function code
}
或者使用选择的字符串作为参数:
function updateSelectOptions(optionsData, selectorString) {
var $selectElement = $(selectorString);
// function code
}
据我所知,jQuery并没有对选择器结果进行缓存,所以我建议不要这样做。它也不提供灵活性,允许您传递未添加到DOM的元素。 – 2014-12-03 00:25:13
JavaScript通过引用传递对象(不是真的,通过共享调用,但足够接近)。传递引用意味着我不必重新输入jquery来定位元素并构建一个对象,就像您在传递选择器时所做的那样。第一个会更快。 – 2014-12-03 00:37:53