!! Wird im Allgemeinen verwendet, um den folgenden Ausdruck auf boolesche Daten (boolesch) zu zwingen, d. h. er kann nur wahr oder falsch sein;
Ich sehe oft Beispiele wie dieses:
var a;
var b=!!a;
a ist standardmäßig undefiniert. !a ist wahr, !!a ist falsch, daher ist der Wert von b falsch, nicht undefiniert oder andere Werte, hauptsächlich um spätere Urteile zu erleichtern.
!! Wird im Allgemeinen verwendet, um den folgenden Ausdruck auf boolesche Daten (boolesch) zu zwingen, d. h. er kann nur wahr oder falsch sein;
Da es sich bei JavaScript um eine schwach typisierte Sprache handelt (Variablen haben keinen festen Datentyp), ist es manchmal erforderlich, sie in den entsprechenden Typ umzuwandeln, ähnlich wie:
a=parseInt(“1234″)
a=”1234″-0 //转换为数字
b=1234+”” //转换为字符串
c=someObject.toString() //将对象转换为字符串
Nach dem Login kopieren
Typ 1 und 4 sind explizite Konvertierungen und Typ 2 und 3 sind implizite Konvertierungen
Boolesche Konvertierung, die JavaScript-Konvention ist
falsch, undefiniert, null, 0, „“ sind falsch
wahr, 1, „somestring“, [Objekt] ist wahr
Für andere implizit konvertierte Werte wie null und undefiniert führt die Verwendung des !-Operators zu einem wahren Ergebnis. Der Zweck der Verwendung von zwei Ausrufezeichen besteht also darin, diese Werte in „äquivalente“ boolesche Werte umzuwandeln >
Lassen Sie uns noch einmal einen Blick darauf werfen:
Dieses Beispiel zeigt, dass bei Verwendung von undiffed und null die Verwendung eines Ausrufezeichens „true“ und die Verwendung von zwei Ausrufezeichen „false“ zurückgibt. Daher besteht die Rolle von zwei Ausrufezeichen darin, dass, wenn der Wert der Variablen explizit festgelegt wird ( Non -null/undified/0/"" und andere Werte) wird das Ergebnis basierend auf dem tatsächlichen Wert der Variablen zurückgegeben. Wenn dieser nicht festgelegt ist, wird das Ergebnis falsch zurückgegeben.
var foo;
alert(!foo);//undifined情况下,一个感叹号返回的是true;
alert(!goo);//null情况下,一个感叹号返回的也是true;
var o={flag:true};
var test=!!o.flag;//等效于var test=o.flag||false;
alert(test);
Nach dem Login kopieren