Оператор 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 2017 Draft (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 |
---|---|---|---|---|---|---|
Базовая поддержка | (Да) | (Да) | (Да) | (Да) | (Да) | (Да) |