MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

TypeError: "x" is not a function

Fehler Meldung

TypeError: "x" is not a function

Error Typ

TypeError.

Was ist falsch gelaufen?

Es versuchte einen Wert wie eine Funktion aufzurufen, aber der Wert ist eigentlich keine Funktion. Manchmal erwartet der Code, dass sie eine Funktion erstellen. Dies hat aber nicht geklappt.

Vielleicht ist ein Tippfehler in der Funktion. Oder das Objekt, welches du aufrufst, besitzt so eine Funktion nicht. Beispiel, JavaScript Objekte haben keine map function, aber im JavaScript Array hat es eine map Funktion.

Es gibt viele eingebaute Funktionen, die eine (Callback-) Funktion benötigen. Sie müssen eine Funktion bereitstellen, damit diese Methoden ordnungsgemäß funktionieren:

Beispiele

Ein Schreibfehler im Funktions Name

In diesem Fall passiert es viel zu oft, dass im Name ein Schreibfehler ist:

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

Die korrekte Funktion ist getElementById:

var x = document.getElementById('foo');

Funtionen, die auf dem Falschen Objekt aufgerufen werden

Für bestimmte Methoden musst du eine (callback) Funktion deklarieren. Und es funktioniert nur für bestimmte Objekte. In diesem Beispiel, Array.prototype.map() wird verwendet, welche nur mit Array Objekten funktionieren wird.

var obj = {a: 13, b: 37, c: 42};

obj.map(function(num) {
  return num * 2;
});

// TypeError: "x" is not a function

Verwenden sie stattdessen ein Array

var numbers = [1, 4, 9];

numbers.map(function(num) { 
  return num * 2; 
}); 

// Array [2, 8, 18]

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

 Mitwirkende an dieser Seite: fire-stone
 Zuletzt aktualisiert von: fire-stone,