aboutsummaryrefslogtreecommitdiff
path: root/files/de/web/javascript/reference/errors/not_a_function
diff options
context:
space:
mode:
authorFlorian Merz <me@fiji-flo.de>2021-02-11 14:45:38 +0100
committerFlorian Merz <me@fiji-flo.de>2021-02-11 14:45:38 +0100
commit4ab365b110f2f1f2b736326b7059244a32115089 (patch)
treec3c7c0219f728ade49a78c238c51cc0c8d06ebd6 /files/de/web/javascript/reference/errors/not_a_function
parent8260a606c143e6b55a467edf017a56bdcd6cba7e (diff)
downloadtranslated-content-4ab365b110f2f1f2b736326b7059244a32115089.tar.gz
translated-content-4ab365b110f2f1f2b736326b7059244a32115089.tar.bz2
translated-content-4ab365b110f2f1f2b736326b7059244a32115089.zip
unslug de: move
Diffstat (limited to 'files/de/web/javascript/reference/errors/not_a_function')
-rw-r--r--files/de/web/javascript/reference/errors/not_a_function/index.html124
1 files changed, 124 insertions, 0 deletions
diff --git a/files/de/web/javascript/reference/errors/not_a_function/index.html b/files/de/web/javascript/reference/errors/not_a_function/index.html
new file mode 100644
index 0000000000..a8b66dff17
--- /dev/null
+++ b/files/de/web/javascript/reference/errors/not_a_function/index.html
@@ -0,0 +1,124 @@
+---
+title: 'TypeError: "x" is not a function'
+slug: Web/JavaScript/Reference/Fehler/Not_a_function
+tags:
+ - Errors
+ - JavaScript
+ - TypeError
+translation_of: Web/JavaScript/Reference/Errors/Not_a_function
+---
+<div>{{jsSidebar("Errors")}}</div>
+
+<h2 id="Fehlermeldung">Fehlermeldung</h2>
+
+<pre class="syntaxbox">TypeError: "x" is not a function
+</pre>
+
+<h2 id="Fehlertyp">Fehlertyp</h2>
+
+<p>{{jsxref("TypeError")}}.</p>
+
+<h2 id="Was_ist_falsch_gelaufen">Was ist falsch gelaufen?</h2>
+
+<p>Es wird versucht, ein Wert wie eine Funktion aufzurufen, da aber der Wert eigentlich keine Funktion ist, kommt es zu diesem Fehler. Manchmal erwartet das Programm, dass eine Funktion erstellt wird, was aber nicht der Fall ist.</p>
+
+<p>Vielleicht ist ein Tippfehler im Funktionsnamen. Manchmal besitzt das aufgerufene Objekt eine Funktion aber auch nicht. Zum Beispiel besitzen JavaScript Objekte keine <code>map</code> Funktion, aber JavaScript Arrays haben diese Funktion.</p>
+
+<p>Es gibt viele eingebaute Funktionen, die eine (Callback-) Funktion benötigen. Es muss eine Funktion bereitgestellt werden, damit diese Methoden normal funktionieren:</p>
+
+<ul>
+ <li>Wenn mit {{jsxref("Array")}} oder {{jsxref("TypedArray")}} Objekten gearbeitet wird:
+ <ul>
+ <li>{{jsxref("Array.prototype.every()")}}, {{jsxref("Array.prototype.some()")}}, {{jsxref("Array.prototype.forEach()")}}, {{jsxref("Array.prototype.map()")}}, {{jsxref("Array.prototype.filter()")}}, {{jsxref("Array.prototype.reduce()")}}, {{jsxref("Array.prototype.reduceRight()")}}, {{jsxref("Array.prototype.find()")}}</li>
+ </ul>
+ </li>
+ <li>Wenn mit {{jsxref("Map")}} und {{jsxref("Set")}} Objekten gearbeitet wird:
+ <ul>
+ <li>{{jsxref("Map.prototype.forEach()")}} und {{jsxref("Set.prototype.forEach()")}}</li>
+ </ul>
+ </li>
+</ul>
+
+<h2 id="Beispiele">Beispiele</h2>
+
+<h3 id="Ein_Schreibfehler_im_Funktionsnamen">Ein Schreibfehler im Funktionsnamen</h3>
+
+<p>In diesem Fall passiert es viel zu oft, dass im Name ein Schreibfehler enthält:</p>
+
+<pre class="brush: js example-bad">var x = document.getElementByID('foo');
+// TypeError: document.getElementByID is not a function
+</pre>
+
+<p>Der korrekte Funktionsname ist <code>getElementByI<strong>d</strong></code>:</p>
+
+<pre class="brush: js example-good">var x = document.getElementById('foo');
+</pre>
+
+<h3 id="Funktion_wird_auf_dem_falschen_Objekt_aufgerufen">Funktion wird auf dem falschen Objekt aufgerufen</h3>
+
+<p>Für bestimmte Methoden musst eine (callback) Funktion benutzt werden, die nur bei spezifizierten Objekten funktionieren. In diesem Beispiel wird {{jsxref("Array.prototype.map()")}} verwendet, welche nur mit {{jsxref("Array")}} Objekten funktioniert.</p>
+
+<pre class="brush: js example-bad">var obj = {a: 13, b: 37, c: 42};
+
+obj.map(function(num) {
+ return num * 2;
+});
+
+// TypeError: "x" is not a function</pre>
+
+<p>Stattdessen muss ein Array verwendet werden:</p>
+
+<pre class="brush: js example-good">var numbers = [1, 4, 9];
+
+numbers.map(function(num) {
+ return num * 2;
+});
+
+// Array [2, 8, 18]
+</pre>
+
+<h3 id="Funktionen_teilen_einen_Namen_mit_einer_existierenden_Eigenschaft">Funktionen teilen einen Namen mit einer existierenden Eigenschaft</h3>
+
+<p>Manchmal, wenn eine Klasse geschrieben wird, haben eine Eigenschaft und eine Funktion den gleichen Namen. Nach dem Aufruf der Funktion denkt der Compiler, dass die Funktion nicht mehr existiert.</p>
+
+<pre class="brush: js example-bad">var Dog = function () {
+ this.age = 11;
+ this.color = "black";
+ this.name = "Ralph";
+ return this;
+}
+
+Dog.prototype.name = function(name) {
+ this.name = name;
+ return this;
+}
+
+
+var myNewDog = new Dog();
+myNewDog.name("Cassidy"); //Uncaught TypeError: myNewDog.name is not a function
+</pre>
+
+<p>Stattdessen kann ein anderer Eigenschaftsname benutzt werden:</p>
+
+<pre class="brush: js example-good">var Dog = function () {
+ this.age = 11;
+ this.color = "black";
+ this.dogName = "Ralph"; //Using this.dogName instead of .name
+ return this;
+}
+
+Dog.prototype.name = function(name) {
+ this.dogName = name;
+ return this;
+}
+
+
+var myNewDog = new Dog();
+myNewDog.name("Cassidy"); //Dog { age: 11, color: 'black', dogName: 'Cassidy' }
+</pre>
+
+<h2 id="Siehe_auch">Siehe auch</h2>
+
+<ul>
+ <li><a href="/de/docs/Web/JavaScript/Reference/Functions">Functions</a></li>
+</ul>