Оператор void
вычисляет переданное выражение и возвращает undefined
.
Синтаксис
void expression
Описание
Этот оператор позволяет вставлять выражения, которые производят дополнительные действия, в места, где ожидается undefined
.
Оператор void
часто используется для получения примитивного значения undefined
, используя "void(0)"
(что эквивалентно "void 0"
). В подобных случаях можно просто использовать глобальную переменную undefined
(предполагая, что её значение по умолчанию не было изменено).
Самовызывающаяся функция (IIFE)
С оператором void можно использовать самовызывающиеся функции.
void function iife() {
var bar = function () {};
var baz = function () {};
var foo = function () {
bar();
baz();
};
var biz = function () {};
foo();
biz();
}();
JavaScript URIs
Когда браузер переходит по javascript: URI
, он вычисляет код в URI
и заменяет содержание страницы возвращенным значением, если оно не равно undefined
. Можно воспользоваться оператором void
для возврата undefined
. Например:
<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>
Однако заметим, что не рекомендуется использовать псевдо-протокол javascript:
. Лучше прибегнуть к другим альтернативам, таким, как обработчики событий.
Спецификации
Спецификация | Статус | Комментарий |
---|---|---|
ECMAScript (ECMA-262) Определение 'The void Operator' в этой спецификации. |
Живой стандарт | |
ECMAScript 2015 (6th Edition, ECMA-262) Определение 'The void Operator' в этой спецификации. |
Стандарт | |
ECMAScript 5.1 (ECMA-262) Определение 'The void Operator' в этой спецификации. |
Стандарт | |
ECMAScript 3rd Edition (ECMA-262) Определение 'The void Operator' в этой спецификации. |
Стандарт | |
ECMAScript 1st Edition (ECMA-262) Определение 'The void Operator' в этой спецификации. |
Стандарт | Изначальное определение. Реализована в JavaScript 1.1. |
Совместимость с браузерами
Возможность | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Базовая поддержка | (Да) | (Да) | (Да) | (Да) | (Да) |
Возможность | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Базовая поддержка | (Да) | (Да) | (Да) | (Да) | (Да) | (Да) |