Иногда вижу такие ссылки
<a href="javascript:void(0)">Войти</a>
и void 0
тоже используется в библиотеке Backbone.js, например:
if (obj == null) return void 0;
Что значит void 0
, и для чего оно нужно?
Оператор void
[MDN][спецификация] вычисляет переданное выражение и всегда возвращает undefined
.
Примеры:
void 0 // возвращает undefined
void(0) // это тоже возвращает undefined
void "привет" // тоже возвращает undefined
void new Date() // всегда возвращает undefined
Если void 0
всегда возвращает undefined
, можно просто использовать undefined
, разве нет?
Можно. На самом деле, void
не очень полезный оператор, и я его использую очень редко. Но он пригодится в некоторых ситуациях:
В старых браузерах (я не уверен в каких именно. По-моему, в IE 6 и ниже и в Netscape) была возможность изменить значение undefined
:
undefined = 5; // в старых браузерах изменит значение undefined,
// в новых ничего не делает
5 === undefined; // true в старых браузерах, false в новых
Не всегда известно, что undefined
значит undefined
. Поэтому некоторые библиотеки используют void 0
.
Даже в новых браузерах undefined
- допустимое имя переменной внутри функции:
function f() {
var undefined = 5;
return undefined;
}
f(); // возвращает 5
Но если вы пишете такой код, это ваша вина.
void 0
на три символа короче undefined
. Хотя 0[0]
еще короче.Ссылка, начинающаяся с javascript:
, обычно отправляет пользователя на страницу с текстом, который код возвращает. Например:
Нажимай <a href="javascript: 'Привет!'">СЮДА</a>!
Но если вы хотите, чтобы ссылка никуда не отправляла пользователя, надо как-то вернуть undefined
. Традиционно люди используют void(0)
, но undefined
и другие варианты тоже работают.
<a href="javascript:void(0)">Войти</a>
void 0
?Это только традиция; void 0
- простой и короткий код. Другие варианты, такие как void 9
и void "привет"
, тоже работают.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть файл с компонентом, который участвует в головном файле с маршрутами RouterВ файле есть импорт константы, которая является двумерным массивом:
При написании метода после того как ставлю скобки вылезает такое большое окно (это не окно подсказок, потому что если писать код дальше будет...
На сайте к странице подключается около 15 js скриптов и 10 css файлов, будет ли профит если свести весь js и css в один файл, те