function checkPage(obj) {
console.log("start checkPage");
if (typeof obj === 'object'){
for (var key in obj) {
if ($('body').hasClass(key)){
if (obj[key].isArray){
for (var i=0;i<obj[key].length;i++){
obj[key][i];
}
}else {
obj[key];
}
}
}
}
}
function indexFunc() {
console.log('index')
}
function newsFunc() {
console.log('news')
}
checkPage({
index: [indexFunc()],
news: [newsFunc()],
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body class='index'></body>
Подключаю к обеим страницам сайта один и тот же script.min.js
.
На странице, для которой изначально разрабатывался script.min.js
все работает штатно, но на второй странице
Ошибки, которые отключают вообще скрипты. Я выяснил что ошибки вызывают функции, которые не используются на этой странице. И придумал сделать функцию, которая бы проверяла что за страница и вызывала бы нужные функции. Но у меня не вышло, функции вызываются еще на этапе объвления их как параметров. См. пример. У меня два вопроса. Как исправить ошибки, что у меня на странице, т.е. не вызывать определенные функции. И если это не связано с тем решением, что я попытался реализовать, хотелось бы знать, можно ли передать функцию в другую функцию, чтобы ее там выполнить?
В этом коде
checkPage({
index: [indexFunc()],
news: [newsFunc()],
});
происходят вызовы функций indexFunc
и newsFunc
во время создания объекта - параметра для вызовa checkPage
. Эти функции ничего не возвращают, так что в checkPage
передается:
{
index: [undefined],
news: [undefined],
}
Вы, вероятно, имели в виду:
checkPage({
index: [indexFunc],
news: [newsFunc],
});
Строки в цикле
obj[key][i];
...
obj[key];
ничего не делают. Вероятно, имелось в виду при каких-то условиях вызвать функции:
obj[key][i]();
...
obj[key]();
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Если в первый раз кликнуть на div contenteditable то курсор становится где-то вверху, при наборе текста, он становится на правильное местоКак можно...
Всем привет! Есть файл сервера на NodeВ нем есть 2 запроса на добавление данных в базу и получение из базы
В столбце очень много всего и одной лямбдой не обойтисьМне надо вынести столбец в отдельный файл