Обратите внимание, что эта идиома существует на других языках программирования также. C не имел внутреннего bool
тип, таким образом, все булевские переменные были введены как int
вместо этого, с каноническими значениями 0
или 1
. Берет этот пример (круглые скобки, добавленные для ясности):
!(1234) == 0
!(0) == 1
!(!(1234)) == 1
"не - не" синтаксис преобразовывает любое ненулевое целое число в 1
, каноническое булево истинное значение.
В целом, тем не менее, я нахожу, что он намного лучше вставляет разумное сравнение, чем использовать эту редкую идиому:
int x = 1234;
if (!!x); // wtf mate
if (x != 0); // obvious
Вам не нужны одинарные кавычки. Можете ли вы вставить разметку на случай, если приведенная ниже информация не работает.
$("div.media_selection[rel=" + relid + "]").hide();
$("div.media_selection[rel=" + relid + "]").show();