2016-08-09 8 views
-4

Ich schrieb Code für eine Algorithmus-Herausforderung und es schien aus irgendeinem Grund nicht zu funktionieren. Ich erkannte, ich schrieb etwas wie,Warum funktioniert der NOT-Operator (!) Nicht in JavaScript?

var repeat = false; 
if (!repeat){ 
    counter++; 
} 

Dies schien nicht zu funktionieren. Als ich den Code änderte,

var repeat = false; 
if (repeat == false){ 
    counter++; 
} 

es funktionierte. Warum ist das? Bedeutet "! Repeat" nicht automatisch "repeat == false"?

+0

" '! Repeat' Ist die nicht bedeuten, automatisch 'wiederholen == false'" - Nö. Es bedeutet "Negieren wiederholen". Es beinhaltet keine Vergleichsoperatoren. –

+0

@SergioTulentsev 'weil! False gleich wahr 'ist und? Wie ist das mit der Frage verbunden? – freakish

+0

OP: Ihre beiden Snippets verhalten sich genau gleich. – freakish

Antwort

0

Es funktioniert gut für mich in beiden Fällen

var repeat = false; 
var counter = 0; 

if (!repeat){ 
    counter++; 
} 

console.log('Counter', counter); 

if (repeat == false){ 
    counter++; 
} 

console.log('Counter', counter); 

Example Here

Verwandte Themen