2012-04-13 33 views

Odpowiedz

18

Jeśli chcesz sprawdzić fałszywy alarm a jeśli nie, to nie nie ma.

Jeśli użyjesz if(val), to wszystko, co ocenia jako "prawda", podobnie jak niepusty ciąg, również przejdzie. To zależy od tego, jak rygorystyczne jest twoje kryterium. Korzystanie z === i !== jest ogólnie uważane za dobrą praktykę, aby uniknąć przypadkowego dopasowania warunków prawdziwości lub fikcji za pomocą niejawnych testów boolowskich javascript.

0

Podoba Ci się to?

if(borrar()) 
{ 
    //do something 
} 

If borrar() Zwraca true wtedy coś zrobić (jeśli nie jest fałszywe).

+2

Jest to mniej rygorystyczne testy niż oryginał, a tym samym zachowanie nie będzie dokładnie taka sama. –

+1

Domyślam się, że pytanie było lepszym sposobem i wziąłem to jako prostszy sposób, ale masz rację, to jest mniej rygorystyczne. To zależy od funkcji borrar(). Dzięki, jestem pewien, że uczę się więcej od odpowiadania na pytania i bycia poprawionym niż zadawania własnego. :) –

5

Jeśli chcesz jawnie sprawdzić false (i nie niezdefiniowane, null i inne, które zakładam, jak używasz! == zamiast! =), To tak, musisz tego użyć. też jest to samo w nieco mniejszym ślad

if(borrar() !== !1) 
+5

Uzgodnione, z wyjątkiem '! 1'. Nie użyłbym tego, ponieważ jest mniej gadatliwy niż "fałszywy", a także niezbyt często, a więc mniej czytelny. –

+1

prawda, to naprawdę nie jest lepszy sposób, myślę, że może być uważany za bardziej optymalny sposób dla śladu, ale zwykle kompresor by się tym zajął, więc nie warto używać przeciwko fałszywym. – GillesC

3

Sprawdzanie, czy coś nie jest fałszywe. Więc to prawda, tylko jeśli robisz coś, co jest fizyką kwantową.

if(!(borrar() === false)) 

lub

if(borrar() === true) 
3

Można użyć czegoś bardziej prostsze :)

if(!var){ 
    console.log('var is false'); 
} 
+2

jeśli var ma wartość null lub undefined! Var jest prawdziwe i nie jest to istotne. – gsubiran