Heim > Web-Frontend > js-Tutorial > Einführung in die Rolle des doppelten Ausrufezeichens in JavaScript_Javascript-Kenntnissen

Einführung in die Rolle des doppelten Ausrufezeichens in JavaScript_Javascript-Kenntnissen

WBOY
Freigeben: 2016-05-16 16:35:49
Original
1193 Leute haben es durchsucht

!! 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:


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 (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
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage