我對錶現和「最佳實踐」的立場感到好奇。我在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