Предположим, есть гипотетический код:
$(window).on('load resize', function() {
var img = document.createElement('img');
img.src = 'img/bg.jpg';
var imgAspectRatio = img.naturalWidth/img.naturalHeight;
var $bg = $('.bg'), bgAspectRatio = $bg.outerWidth() / $bg.outerHeight();
if (bgAspectRatio > imgAspectRatio) {
$bg.css('backgroundSize', 'cover');
} else {
$bg.css('backgroundSize', 'auto 500px');
}
});
Каким образом можно вынести объявление переменной imgAspectRatio наружу с тем условием, чтобы она оставалась в локальной области видимости и одновременно могла использоваться другими функциями? Интересует, в частности, ответ на вопрос, какие существуют распространённые практики (best practices) для решения подобных ситуаций, какие паттерны применяются? Заранее извиняюсь, если не правильно сформулировал вопрос, в js я новичок.