Селекторы jQuery замечательны, но иногда я набираю их снова и снова, и это немного раздражает.
$('#mybutton').click(function() {
$('#message-box').doSomething();
$('#message-box').doSomethingElse();
$('#message-box').attr('something', 'something');
});
Так часто мне нравится кэшировать мои объекты в переменных:
$('#mybutton').click(function() {
var msg = $('#message-box');
msg.doSomething();
msg.doSomethingElse();
// you get the idea
});
Есть ли плюсы или минусы между этими двумя паттернами? Иногда кажется, что создание переменных - это дополнительная работа, но иногда это избавляет меня от необходимости печатать. Есть ли какие-то проблемы с памятью, о которых нужно знать? Хорошо ли убираются селекторы после использования, в то время как мои плохие привычки кодирования имеют тенденцию дольше сохранять переменные в памяти?
Это не дает мне спать по ночам, но мне любопытно. Спасибо.
РЕДАКТИРОВАТЬ: Пожалуйста, см. этот вопрос . По сути, он спрашивает об одном и том же, но мне больше нравится ответ.