Новичок в JavaScript. Не могу понять в чем проблема. Выдает две ошибки(не я их тестировал, я просто написал код):
Uncaught ReferenceError: sdfsdf is not defined at :1:12
Uncaught ReferenceError: result is not defined
Кроме как сделать проверку параметров на ноль, я не знаю, что делать.
function selectPage(total, pageSize, selected) {
// Количество всех страниц
var pageCount = Math.ceil(total / (pageSize * 1.0));
var result = [];
// Если возможно создается массив на 10 страниц. Т.к. это максимальное количество страниц в гугле
// Количество страниц от выбранной страницы:
// Слева = 5
// Справа = 4
if (pageCount > 10) {
// Если selected меньше 7 - просто заполнятся массив от 1 до 10
if (selected < 7) {
result = createArray(1, 10);
}
// Если справа от selected есть больше, чем 3 страницы
else if (pageCount - selected > 3) {
result = createArray(selected - 5, 10);
}
// Иначе заполняется массив "с конца"
else {
result = createArray(pageCount - 9, 10);
}
}
else {
// Иначе просто заполнятся массив на количество страниц
result = createArray(1, pageCount);
}
return result;
}
function createArray(startValue, size) {
for (var i = 0; i < size; i++) {
result[i] = startValue;
startValue++;
}
return result;
}
Первая ошибка
Передаваемые аргументы (sdfsdf, sdf, dfg) воспринимаются интерпретатором, как переменные. Очевидно, что такие переменные у вас нигде не определены. Если же вы хотите передать текст, то нужно оборачивать в кавычки - ("sdfsdf", "sdf", "dfg").
В данном конкретном случае ваша функция selectPage() ожидает передачу чисел.
Вторая ошибка
В области видимости функции createArray() нет переменной result. Она определена только в функции selectPage. Для того, чтобы ошибки не было, во вторую функцию, - createArray(), - необходимо передавать переменную result.
Обе ошибки связаны с отсутствием необходимых переменных. Поэтому и сообщения об ошибках - Reference errors.
Ниже приводится исправленная версия Вашего кода.
function selectPage(total, pageSize, selected) {
// Количество всех страниц`
var pageCount = Math.ceil(total / (pageSize * 1.0));
var result = [];
// Если возможно создается массив на 10 страниц. Т.к. это максимальное количество страниц в гугле
// Количество страниц от выбранной страницы:
// Слева = 5
// Справа = 4
if (pageCount > 10) {
// Если selected меньше 7 - просто заполнятся массив от 1 до 10
if (selected < 7) {
result = createArray(1, 10, result);
}
// Если справа от selected есть больше, чем 3 страницы
else if (pageCount - selected > 3) {
result = createArray(selected - 5, 10, result);
}
// Иначе заполняется массив "с конца"
else {
result = createArray(pageCount - 9, 10, result);
}
}
else {
// Иначе просто заполнятся массив на количество страниц
result = createArray(1, pageCount, result);
}
return result;
}
function createArray(startValue, size, result) {
for (var i = 0; i < size; i++) {
result[i] = startValue;
startValue++;
}
return result;
}
console.log(selectPage(10, 0, 0));
Виртуальный выделенный сервер (VDS) становится отличным выбором
Добрый день пишу приложение на VueJS, и столкнулся с проблемой, на определенной страницы есть datePicker, с помощью клика я беру оттуда дату и пересылаю...
Получаю доступ к камере пользователя следующим кодом:
есть событие на открытие модального окнапри открытии окна у html и body должен блокироваться скролл (используем overflow:hidden), но он не работает именно...