diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:41:15 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:41:15 -0500 |
commit | 4b1a9203c547c019fc5398082ae19a3f3d4c3efe (patch) | |
tree | d4a40e13ceeb9f85479605110a76e7a4d5f3b56b /files/de/web/javascript/reference/statements/funktion/index.html | |
parent | 33058f2b292b3a581333bdfb21b8f671898c5060 (diff) | |
download | translated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.tar.gz translated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.tar.bz2 translated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.zip |
initial commit
Diffstat (limited to 'files/de/web/javascript/reference/statements/funktion/index.html')
-rw-r--r-- | files/de/web/javascript/reference/statements/funktion/index.html | 190 |
1 files changed, 190 insertions, 0 deletions
diff --git a/files/de/web/javascript/reference/statements/funktion/index.html b/files/de/web/javascript/reference/statements/funktion/index.html new file mode 100644 index 0000000000..64a54347bc --- /dev/null +++ b/files/de/web/javascript/reference/statements/funktion/index.html @@ -0,0 +1,190 @@ +--- +title: Funktion +slug: Web/JavaScript/Reference/Statements/funktion +translation_of: Web/JavaScript/Reference/Statements/function +--- +<div>{{jsSidebar("Statements")}}</div> + +<p>Die <strong>Funktionsdeklaration</strong> definiert eine Funktion mit den angegebenen Parametern.</p> + +<p>Es kann auch eine Funktion mit dem {{jsxref("Function")}}-Konstruktor und einem {{jsxref("Operators/function", "Funktionsausdruck")}} deklariert werden.</p> + +<h2 id="Syntax">Syntax</h2> + +<pre class="syntaxbox">function <em>name</em>([<em>param</em>,[, <em>param</em>,[..., <em>param</em>]]]) { + [<em>statements</em>] +} +</pre> + +<dl> + <dt><code>name</code></dt> + <dd>Der Funktionsname.</dd> +</dl> + +<dl> + <dt><code>param</code></dt> + <dd>Der Name des Arguments, der an die Funktion übergeben werden soll. Eine Funktion kann bis zu 255 Argumente haben.</dd> +</dl> + +<dl> + <dt><code>statements</code></dt> + <dd>Die Ausdrücke, aus denen der Funktionskörper besteht.</dd> +</dl> + +<h2 id="Beschreibung">Beschreibung</h2> + +<p><span style="font-size: 14px; font-weight: normal; line-height: 1.5;">Eine Funktion, die mit der Funktionsdeklaration erstellt wurde, ist ein </span><code style="font-size: 14px; font-style: normal; line-height: 1.5;">Function</code><span style="font-size: 14px; font-weight: normal; line-height: 1.5;"> -Objekt und hat alle Eigenschaften, Methoden und Verhalten des <strong>Function</strong>-Objekts</span><span style="font-size: 14px; font-weight: normal; line-height: 1.5;">. Siehe {{jsxref("Function")}} für detaillierte Information über Funktionen.</span></p> + +<p>Eine Funktion kann auch mit einem Ausdruck erzeugt werden (siehe {{jsxref("Operators/function", "function expression")}}).</p> + +<p>Standardmäßig geben Funktionen <code>undefined </code>zurück. Um einen beliebigen anderen Wert zurückzugeben muss die Funktion einen {{jsxref("Statements/return", "return")}}-Ausdruck haben, der den Wert der Rückgabe angibt.</p> + +<h3 id="Bedingungskreierte_Funktionen">Bedingungskreierte Funktionen</h3> + +<p>Funktionen können bedingungskreiert werden. Das heißt: Eine Funktionsanweisung kann innerhalb einer <code>if</code>-Anweisung verschachtelt werden. Die meisten modernen Browser, abseits von Mozilla, werden solche konditionsbasierten Deklarationen als unkonditionelle Deklarationen behandeln und die Funktion erstellen, ob wahr oder nicht, siehe <a href="http://kangax.github.io/nfe/#function-statements">dieser Artikel</a> für eine Übersicht. Deshalb sollten sie so nicht verwendet werden. Stattdessen sollten Funktionsausdrücke für eine konditionelle Erstellung verwendet werden.</p> + +<h3 id="Hochziehen_der_Funktionsdeklaration">Hochziehen der Funktionsdeklaration</h3> + +<p>Funktionsdeklarationen in Javascript ziehen die Funktionsdefinition hoch. D. h. Funktionen können benutzt werden noch bevor sie deklariert wurden:</p> + +<pre class="brush: js">hochgezogen(); // loggt "foo" + +function hochgezogen() { + console.log("foo"); +} +</pre> + +<p>Zu beachten ist aber, dass {{jsxref("Operators/function", "Funktionsausdrücke")}} nicht hochgezogen werden:</p> + +<pre class="brush: js">nichtHochgezogen(); // TypeError: nichtHochgezogen is not a function + +var nichtHochgezogen = function() { + console.log("bar"); +}; +</pre> + +<h2 id="Beispiele">Beispiele</h2> + +<h3 id="Mit_function">Mit <code>function</code></h3> + +<p>Der folgende Code deklariert eine Funktion, die die Summe aller Verkäufe zurückgibt, wenn sie die Anzahl der verkauften Einheiten <code>a</code>, <code>b</code>, und <code>c </code>übergeben bekommt.</p> + +<pre class="brush: js">function berechne_verkäufe(einheit_a, einheit_b, einheit_c) { + return einheit_a*79 + einheit_b * 129 + einheit_c * 699; +} +</pre> + +<h2 id="Spezifikationen">Spezifikationen</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Spezifikation</th> + <th scope="col">Status</th> + <th scope="col">Kommentar</th> + </tr> + <tr> + <td>{{SpecName('ES6', '#sec-function-definitions', 'Function definitions')}}</td> + <td>{{Spec2('ES6')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('ES5.1', '#sec-13', 'Function definition')}}</td> + <td>{{Spec2('ES5.1')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('ES3', '#sec-13', 'Function definition')}}</td> + <td>{{Spec2('ES3')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('ES1', '#sec-13', 'Function definition')}}</td> + <td>{{Spec2('ES1')}}</td> + <td>Initial definition. Implemented in JavaScript 1.0.</td> + </tr> + </tbody> +</table> + +<h2 id="Browserkompatibilität">Browserkompatibilität</h2> + +<p>{{CompatibilityTable}}</p> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Feature</th> + <th>Chrome</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari</th> + </tr> + <tr> + <td>Basic support</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + </tr> + <tr> + <td>Allowed in sloppy mode</td> + <td>{{CompatChrome(49.0)}}</td> + <td> </td> + <td> </td> + <td> </td> + <td> </td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Feature</th> + <th>Android</th> + <th>Android Webview</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Mobile</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>Basic support</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + </tr> + <tr> + <td>Allowed in sloppy mode</td> + <td>{{CompatNo}}</td> + <td> + <p>{{CompatChrome(49.0)}}</p> + </td> + <td> </td> + <td> </td> + <td> </td> + <td> </td> + </tr> + </tbody> +</table> +</div> + +<h2 id="Siehe_auch">Siehe auch</h2> + +<ul> + <li>{{jsxref("Functions_and_function_scope", "Functions and function scope")}}</li> + <li>{{jsxref("Function")}}</li> + <li>{{jsxref("Operators/function", "function expression")}}</li> + <li>{{jsxref("Statements/function*", "function* statement")}}</li> + <li>{{jsxref("Operators/function*", "function* expression")}}</li> + <li>{{jsxref("Functions/Arrow_functions", "Arrow functions")}}</li> + <li>{{jsxref("GeneratorFunction")}}</li> +</ul> |