MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

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

Смотрите также

Метки документа и участники

 Внесли вклад в эту страницу: artskar, hlomzik, AlexChuev
 Обновлялась последний раз: artskar,