Heim  >  Artikel  >  Web-Frontend  >  Ein Beispiel für die Rolle des doppelten Ausrufezeichens (!!) bei JavaScript_Javascript-Kenntnissen

Ein Beispiel für die Rolle des doppelten Ausrufezeichens (!!) bei JavaScript_Javascript-Kenntnissen

WBOY
WBOYOriginal
2016-05-16 16:53:021026Durchsuche

Wir sehen oft Beispiele wie dieses: 

Code kopieren Der Code lautet wie folgt:

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 (boolean) zu zwingen, d. h. er kann nur wahr oder falsch sein;
Da JavaScript eine schwach typisierte Sprache ist (Variablen sind keine festen Daten). Daher ist es manchmal erforderlich, ihn in den entsprechenden Typ umzuwandeln, ähnlich wie:
Code kopieren Der Code lautet wie folgt:

a=parseInt(“1234″)
a=”1234″-0 //In Zahl konvertieren
b=1234 ”” //In String konvertieren
c= someObject. toString() // Konvertieren Sie das Objekt in einen String

Der erste und vierte Typ sind explizite Konvertierungen und der zweite und dritte Typ sind implizite Konvertierungen

Boolesche Konvertierung JavaScript-Konventionsregeln sind

falsch, undefiniert, null, 0, „“ ist falsch
wahr, 1, „somestring“, [Objekt] ist wahr

für null und undefiniert usw . Für andere implizit konvertierte Werte führt die Verwendung des !-Operators zu einem echten Ergebnis. Der Zweck der Verwendung von zwei Ausrufezeichen besteht also darin, diese Werte in „äquivalente“ boolesche Werte umzuwandeln.

Code kopieren Der Code lautet wie folgt:
var foo
alert(!foo) ;// Im undefinierten Fall gibt ein Ausrufezeichen true zurück; // Im Nullfall gibt ein Ausrufezeichen auch true zurück 🎜>var test =!!o.flag;//Äquivalent zu var test=o.flag||false;
alert(test);


Dieses Beispiel zeigt, wenn undiffed und null , Die Verwendung eines Ausrufezeichens gibt true zurück, die Verwendung von zwei Ausrufezeichen gibt false zurück. Die Rolle von zwei Ausrufezeichen besteht also darin, dass, wenn der Wert der Variablen explizit festgelegt wird (nicht null/undified/0/"" und andere Werte), die Ergebnis Es wird basierend auf dem tatsächlichen Wert der Variablen zurückgegeben. Wenn es nicht festgelegt ist, ist das Ergebnis falsch.
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn