Он будет выделять новую переменную каждый раз, когда вы ее вызываете.
Таким образом, он ничего не «кеширует».
Если вам нужно иметь функцию, которую вы планируете звонить много раз и хотите кэшировать элементы, которые он использует, вам необходимо переместить тех, в затворе:
var el = $('.element');
function cachevar() {
el.toggleClass('open')
}
cachevar();
cachevar();
Поступая таким образом, cachevar
будет доступ к тому же el
объект.
Вы не можете кэшировать объекты, не имея их в закрытии. Если вы не хотите иметь el
затирания текущую область действия, вы можете обернуть, что в-так называемой IIFE (Сразу Вызывается функция Expression), так что она создает новую область:
var cachevar = (function() {
var el = $('.element');
return function() {
el.toggleClass('open')
}
}());
// el is undefined here
cachevar();
cachevar();
Это обыкновение кэша ничего. el переменная будет распределяться каждый раз при запуске метода cachevar. –