2009-07-10 1 views
0

это лучше сделать (в отношении производительности, не читаемость ...):Использовать переменные или «вводить» селектора jquery при цепочке?

$('a.updateCartButton').click(function() { 
    $('form[name=updateCartForm]').attr('action', $(this).attr('href') + '#' + $('img[id^=iconUpdateArticle]').attr('id')).submit(); 
    return false; 
}); 

или это:

$('a.updateCartButton').click(function() { 
    var actionHref = $(this).attr('href'); 
    var buttonId = $('img[id^=iconUpdateArticle]').attr('id'); 
    $('form[name="updateCartForm"]').attr('action', actionHref + '#' +buttonId).submit(); 
    return false; 
}); 

Может быть кто-то может объяснить мне, как я могу написать тест для чего-то подобного в jQuery Tester? Тогда мне не нужно задавать такие вопросы в будущем ...;)

Спасибо!

ответ

1

Любой из них в порядке, вы говорите о производительности переменной назначения, возможно, самой быстрой функции на любом языке. Разница между:

var a = 1; 
var b = 2; 
return a + b; 

против:

return 1 + 2; 

должна быть близка к нулю для всех современных языков дня.

+0

Спасибо за быстрый ответ, Джейк. Интересно: я бы подумал, что возврат 1 + 2 несколько быстрее, чем возврат a + b ... – north

+0

Существует много наивных циклов работы JavaScript, поэтому разница * может быть измерима в вашем примере. Однако код OP достаточно сложный, что я уверен, что стоимость именования локальных переменных будет потеряна в шуме. – ephemient

+0

Точно мой пункт, не стесняйтесь отмечать его как правильный ответ, если хотите ;-) –

Смежные вопросы