Я работаю на WP-сайте и не очень разбираюсь в javascript, и хотел задать 2-3 вопроса о том, как лучше всего это сделать.
Мои сценарии в основном предназначены для форматирования и анимации сайта, позиционирование объекта, добавление удаления классов и т. д. Итак, мои вопросы таковы -
1. Поскольку страницы не совпадают, есть элементы, которыми я манипулирую на одной странице, которые не существуют на другой, если яЗапустите эти скрипты. Я получу ошибки в консоли, когда скрипт попытается нацелить элементы, которых там нет. Я могу либо (а) поместить условия в мои сценарии перед вызовом моих функций, например, if ($ someElement.length) или if ($ someURL) {// затем вызвать функцию}, и иметь все сценарии для всех страниц в одном файле. или (b) разделить мои скрипты на разные файлы и загружать только те, которые мне нужны, на каждой странице. Один большой файл лучше, чем загружать разные меньшие?
2. Я пишу скрипты так, как я делаю, когда они мне нужны, поэтому у меня в основном много маленьких функций, которые вносят небольшие изменения, и поэтому мои слушатели событийкаждый раз вызывается много функций, примерно так -
$(window).on('resize', function(){
myFunction01();
myFunction02();
myFunction03();
myFunction04();
myFunction05();
myFunction06();
myFunction07();
myFunction08();
myFunction09();
});
Должен ли я попытаться объединить эти функции, чтобы у меня было меньше вызовов, но больше функций? Дает ли организация так, а не иначе, лучшую производительность?
3.Все элементы на моей странице, которыми я манипулирую, я объявляю в качестве глобальных переменных во главе моего сценария для практичности, но мне интересно, если этоплохая идея? У меня складывается впечатление, что переопределение переменной каждый раз, когда вызывается функция, будет «большей работой», чем определение их один раз в начале ... но, возможно, это не так, и сделать их глобальными просто означает больше вещей, которые нужно помнить излишне,Что лучше сделать? Это ...
$myGlobalVar = $('#some_element');
$myGlobalVar2 = $('#some_other_element');
function someFunction(){
$myGlobalVar.doSomething();
$myGlobalVar2.doSomethingElse();
}
$(window).on('scroll', function(){
someFunction()
});
Более экономично, чем это ...
function someFunction(){
$myLocalVar = $('#some_element');
$myLocalVar2 = $('#some_other_element');
$myLocalVar.doSomething();
$myLocalVar2.doSomethingElse();
}
$(window).on('scroll', function(){
someFunction()
});
Лучше иметь больше глобальных переменных и меньше шагов для моих функций или меньше переменных и больше шагов?
Извините за длинный пост, любой отзыв будет отличным или любой другой совет.
Спасибо всем!