IcEWaRRiOr_2002
@IcEWaRRiOr_2002

Что значит эта строка в JS?

Здравствуйте, помогите пожалуйста понять смысл строки в коде JavaScript из урока по фильтрации элементов на W3Schools

filterSelection("all")
function filterSelection(c) {
  var x, i;
  x = document.getElementsByClassName("filterDiv");
  if (c == "all") c = "";


Я изучаю JavaScript, комментирую каждую строку кода, чтобы лучше понимать, что и зачем нужно. И сейчас мне непонятно, что значит строка if (c == "all") c = "";

Я понял это так - если параметр функции (с) равен переданному в вызываемой функции значению "all", то параметр "c" равен пустым кавычкам... Что значат пустые кавычки, объясните пожалуйста
  • Вопрос задан
  • 110 просмотров
Решения вопроса 1
IonDen
@IonDen
JavaScript developer. IonDen.com
Я думаю дело тут вот в чем.

Функция filterSelection изнутри работает следующим образом - вы передаете некие параметры для фильтра в качестве первого атрибута и она возвращает вам отфильтрованный результат.

Соответственно если не передать в этом фильтр ничего (или пустые кавычки) - то ничего и не будет отфильтровано.

Но разработчик подумал что вызов filterSelection() просто так - не очень понятно что вернет, по этому он придумал для удобоства интерфейса передавать ключевое слово "all" чтобы было понятнее. Ну а под капотом если пришло "all" можно незаменто привратить его в пустые кавычки и вернуть не отфильтрованный результат.

Как то так.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Сама строчка значит следующее:
если переменная c равна строке 'all' присвоить этой переменное значение '' (пустая строка нулевой длины).

В вашем отрывке кода функция filterSelection() обрезана. Вероятно эта переменная c потом для чего-то используется, но можно только догадываться для чего именно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы