Snabbtips Vad du kanske inte vet om JavaScripts logiska och operatör

I dagens snabba snabbspets, kommer vi att granska JavaScript-logiken OCH operatör. De av er som just börjar komma in i JavaScript, eller till och med ett bibliotek som jQuery, kanske inte inser att de även kan användas som mikro om uttalanden!


Prenumerera på vår YouTube-sida för att titta på alla videohandledning!


Exempel 1: Allmänt bruk

 // EXEMPEL 1 var a = 5, b = 10; om ((a === 5) && (b === 10)) alert ('yay');  

De OCH Operatörens användning i koden ovan är vad den stora majoriteten av oss är mest bekanta med. Om en är lika med 5, och b är lika med 10, gör sedan något bra, som att visa en alert box som säger "Yay!"

Den högra sidan av && operatören kommer endast kör om vänster sida är lika med Sann. Med det i åtanke kan vi använda detta till vår fördel!


Exempel 2: Kontrollera om ett element existerar

I de flesta av mina AJAX-baserade applikationer kommer det att finnas en punkt där jag först måste bestämma om ett element med ett visst id finns inom DOM. Om det inte gör det ska jag skapa det. Annars arbetar jag med det element som redan finns. Generellt kan vi använda en om uttalande för denna typ av uppgift.

 om (! document.getElementById ('content')) // sedan ringa en funktion som sätter in elementet i DOM. 

Alternativt kan vi använda && operatör för att uppnå denna uppgift.

 !document.getElementById ('innehåll') && createElem ('div', 'innehåll', 'hej värld'); 

Kom ihåg, det falska createElem funktionen kommer igen, endast kör om vänster sida är lika med Sann. Tänk på det så här: är det Sann att vi inte kunde hitta ett element med ett ID på innehåll på sidan? Om så är fallet, fortsätt sedan till höger. Nu om det är lika med falsk, höger sida kommer aldrig springa.


Exempel 3: Laddar jQuery lokalt

När jag granskade HTML5 Boilerplate märkte jag att Paul använder en smart en-liner som eventuellt laddar en lokal version av jQuery, om det av någon anledning fanns ett fel att ladda ner filen från din CDN.

 !window.jQuery && document.write (''