Der void
Ausdruck evaluiert einen gegebenen Ausdruck
und gibt dann undefined
.
Syntax
void Ausdruck
Beschreibung
Der Operator erlaubt es, Ausdrücke mit Seiteneffekten an Stellen zu benutzen, an denen ein Ausdruck der zu undefined
ausgewertet wird benötigt wird.
Der void
Ausdruck wird oft nur deswegen verwendet, um den primitiven Wert undefined
zu erhalten. In diesen Fällen kann auch die globale Variable undefined
benutzt werden (wenn der Wert für diese auf den default-Wert zeigt und nicht geändert wurde)
Immediately Invoked Function Expressions
Wenn man eine immediately-invoked function expression verwendet, dann kann void
benutzt werden, um das keyword function
als Ausdruck und nicht als Deklaration auswerten zu lassen.
void function iife() { var bar = function () {}; var baz = function () {}; var foo = function () { bar(); baz(); }; var biz = function () {}; foo(); biz(); }();
JavaScript URIs
Wenn ein Browser einer javascript:
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 undefined
ist. Der void
Ausdruck kann dazu benutzt werden in diesen Fällen undefined
zurückzugeben. Zum Beispiel:
<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>
Anmerkung: Die Verwendung des javascript:
pseudo protocol wird gegenüber anderen nicht invasiven Maßnahmen wie Event Handlern nicht empfohlen.
Spezifikationen
Spezifikation | Status | Kommentar |
---|---|---|
ECMAScript 1st Edition (ECMA-262) Die Definition von 'The void Operator' in dieser Spezifikation. |
Standard | Initiale Definition. Implementiert in JavaScript 1.1 |
ECMAScript 3rd Edition (ECMA-262) Die Definition von 'The void Operator' in dieser Spezifikation. |
Standard | |
ECMAScript 5.1 (ECMA-262) Die Definition von 'The void Operator' in dieser Spezifikation. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) Die Definition von 'The void Operator' in dieser Spezifikation. |
Standard | |
ECMAScript 2017 Draft (ECMA-262) Die Definition von 'The void Operator' in dieser Spezifikation. |
Entwurf |
Browserkompatibilität
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) |