Movatterモバイル変換


[0]ホーム

URL:


  1. Веб-технологии для разработчиков
  2. JavaScript
  3. Справочник по JavaScript
  4. JavaScript ссылки на ошибки
  5. TypeError: "x" is not a function

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

TypeError: "x" is not a function

Сообщение

TypeError: "x" is not a function

Тип ошибки

TypeError.

Что пошло не так?

Была сделана попытка вызвать значение как функцию, но оно на самом деле не является функцией. Некоторый код ожидает, что вы предоставите функцию, но этого не происходит.

Возможно, есть ошибка в имени функции? Возможно, объект, метод которого вы вызываете, не содержит в себе этой функции? Для примера, JavaScript объекты не имеютmap функции, а JavaScript Array - имеют.

Есть множество функций, нуждающихся в колбэк-функциях. Вы должны будете предоставить колбэк-функцию для того, чтобы эти методы работы правильно:

Примеры

Ошибки в имени функции

В данном случае, случающемся очень часто, есть опечатка в имени метода:

js
var x = document.getElementByID("foo");// TypeError: document.getElementByID is not a function

Корректное имя функции -getElementById:

js
var x = document.getElementById("foo");

Функция вызвана с неверным объектом

Для некоторых методов вы должны предоставить колбэк-функцию, и она будет работать только на корректных объектах. В этом примере используетсяArray.prototype.map(), в которомArray будет работать только с массивами.

js
var obj = { a: 13, b: 37, c: 42 };obj.map(function (num) {  return num * 2;});// TypeError: obj.map is not a function

Использование с массивом:

js
var numbers = [1, 4, 9];numbers.map(function (num) {  return num * 2;});// Array [ 2, 8, 18 ]

Смотрите также

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp