Вход в аккаунт

Забыли пароль? Воспользуйтесь восстановлением пароля.

Нет аккаунта? Пожалуйста, зарегистрируйтесь.

PROzavr
  • Парсеры
    • Парсер заголовков, описаний и ключевиков сайтов
    • Парсер картинок с сайтов
    • Подбор ключевых слов (тегов) для Ютуба
    • Скачивание превью картинок Ютуб видео и каналов
  • Чекеры
    • Массовая проверка наличия ссылок
    • Массовая проверка ответа сервера
    • Массовая проверка доменов на занятость
    • Проверка посещаемости сайтов
    • Проверить Яндекс ИКС сайтов
    • Массовое определение ip сайтов
  • Разное
    • Онлайн обработка текстовых строк
    • Расшифровка коротких ссылок
    • Генератор паролей
    • Генератор случайных чисел
    • Калькулятор IP подсетей
    • Информация об IP адресе
    • Список всех сервисов
  • PRO-аккаунты
  • Статьи
  • Новости
  • Контакты
  • Вход для PRO

Самые неочевидные решения ошибки Javascript is not a function

Статья посвящается тем, кто знает Javascript только очень поверхностно, как и я, и крайне редко его использует в повседневных делах :)

Битый час сегодня я не мог разобраться, ну какого черта скопированные примеры рабочих Javascript'ов с интернета у меня не работают, у разных вариантов однотипных скриптов, взятых с разных сайтов, после адаптации в мой скрипт постоянно вываливается одна и та же ошибка:

"blabla is not a function"

и все тут, хотя blabla очень даже function, инфа 100%, как говорится.

Когда уже не знал, что делать, стал сравнивать буквально символ в символ, все ли верно я переношу к себе с примеров, вроде бы все, ну, кроме названия функции - blabla, в примерах они все другие. Хм, думаю, ну смешно, конечно, причем тут может быть название функции, но ладно, давай сменим его на что-то другое, например, просто на bla, сменил и... заработало! Ошибки "is not a function" больше нет, все работает как надо.

Итак, неочевидные решения проблемы:

  1. В моем случае проблема была в том, что кроме Javascript-функции с именем blabla у меня в HTML-документе был <div>, у которого был селектор id с точно таким же именем blabla (то есть <div id="blabla">), и, как выяснилось дальнейшим гуглением, так делать нельзя, потому что в браузере создается глобальная переменная с именем каждого id, соответственно, функция с таким именем перестает быть функцией, о чем и сообщала ошибка "blabla is not a function";
  2. По той же причине, что и в предыдущем варианте, но чуть более очевидно - вероятно, в вашем Javascript-коде где-то есть объявление переменной с именем, совпадающим с названием проблемной функции.

© 2013 - 2026 Prozavr.ru