1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
---
title: void Ausdruck
slug: Web/JavaScript/Reference/Operators/void
tags:
- JavaScript
- Operator
- Unary
translation_of: Web/JavaScript/Reference/Operators/void
---
<div>{{jsSidebar("Operators")}}</div>
<p>Der <strong><code>void</code> Operator</strong> evaluiert einen gegebenen <code><em>Ausdruck</em></code> und gibt dann {{jsxref("Global_Objects/undefined", "undefined")}} zurück.</p>
<div>{{EmbedInteractiveExample("pages/js/expressions-voidoperator.html")}}</div>
<h2 id="Syntax">Syntax</h2>
<pre class="syntaxbox">void <em>Ausdruck</em></pre>
<h2 id="Beschreibung">Beschreibung</h2>
<p>Der Operator erlaubt es, Ausdrücke mit Seiteneffekten an Stellen zu benutzen, an denen ein Ausdruck, der zu {{jsxref("Global_Objects/undefined", "undefined")}} ausgewertet wird, benötigt wird.</p>
<p>Der <code>void</code> Ausdruck wird oft nur deswegen verwendet, um den primitiven Wert <code>undefined</code> zu erhalten. In diesen Fällen kann auch die globale Variable {{jsxref("Global_Objects/undefined", "undefined")}} benutzt werden (wenn der Wert für diese auf den default-Wert zeigt und nicht geändert wurde)</p>
<h2 id="Immediately_Invoked_Function_Expressions">Immediately Invoked Function Expressions</h2>
<p>Wenn man eine <a href="/de/docs/Glossary/IIFE">immediately-invoked function expression</a> verwendet, dann kann <code>void</code> benutzt werden, um das keyword <code>function</code> als Ausdruck und nicht als Deklaration auswerten zu lassen.</p>
<pre class="brush: js">void function iife() {
var bar = function () {};
var baz = function () {};
var foo = function () {
bar();
baz();
};
var biz = function () {};
foo();
biz();
}();
</pre>
<h2 id="JavaScript_URIs">JavaScript URIs</h2>
<p>Wenn ein Browser einer <code>javascript:</code> URI folgt, wird zuerst der Code innerhalb der URI ausgewertet und dann der Inhalt der Seite mit dem Rückgabewert ersetzt. Das ist nicht der Fall, wenn der Rückgabewert {{jsxref("Global_Objects/undefined", "undefined")}} ist. Der <code>void</code> Ausdruck kann dazu benutzt werden in diesen Fällen {{jsxref("Global_Objects/undefined", "undefined")}} zurückzugeben. Zum Beispiel:</p>
<pre class="brush: html"><a href="javascript:void(0);">
Click here to do nothing
</a>
<a href="javascript:void(document.body.style.backgroundColor='green');">
Click here for green background
</a>
</pre>
<p>Anmerkung: Die Verwendung des <code>javascript:</code> pseudo Protokolls wird gegenüber anderen nicht invasiven Maßnahmen wie Event Handlern nicht empfohlen.</p>
<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('ES1', '#sec-11.4.2', 'The void Operator')}}</td>
<td>{{Spec2('ES1')}}</td>
<td>Initiale Definition. Implementiert in JavaScript 1.1</td>
</tr>
<tr>
<td>{{SpecName('ES3', '#sec-11.4.2', 'The void Operator')}}</td>
<td>{{Spec2('ES3')}}</td>
<td> </td>
</tr>
<tr>
<td>{{SpecName('ES5.1', '#sec-11.4.2', 'The void Operator')}}</td>
<td>{{Spec2('ES5.1')}}</td>
<td> </td>
</tr>
<tr>
<td>{{SpecName('ES6', '#sec-void-operator', 'The void Operator')}}</td>
<td>{{Spec2('ES6')}}</td>
<td> </td>
</tr>
<tr>
<td>{{SpecName('ESDraft', '#sec-void-operator', 'The void Operator')}}</td>
<td>{{Spec2('ESDraft')}}</td>
<td> </td>
</tr>
</tbody>
</table>
<h2 id="Browserkompatibilität">Browserkompatibilität</h2>
<p>{{Compat("javascript.operators.void")}}</p>
<h2 id="Siehe_auch">Siehe auch</h2>
<ul>
<li>{{jsxref("Global_Objects/undefined", "undefined")}}</li>
</ul>
|