2012-03-30 5 views
0

Ich habe ein Stück Code im Web gesehen.Was ist "return (var> -1)" in einer Funktion?

function isMobile() { 
var index = navigator.appVersion.indexOf("Mobile"); 
return (index > -1); 
} 

Warum können wir nicht nur überprüfen, ob Index> oder < 0? Bitte erklären Sie den Rückgabewert des Indexes> -1.

+0

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/indexOf – stewe

Antwort

4

Wenn das Ergebnis indexOf-1 ist, wurde die Zeichenfolge nicht gefunden. 0 würde anzeigen, dass es in der Zeichenfolge ist und dass es tatsächlich am Anfang der Zeichenfolge steht.

Daher, wenn Sie für > 0 getestet, dann würden Sie überprüfen, ob es irgendwo nicht am Anfang der Zeichenfolge existierte. !(index < 0) und index >= 0 würden beide funktionieren, aber ersteres ist etwas komplexer als es sein muss.

Wenn Sie über die Syntax verwechselt wurden, ist das Ergebnis eines Vergleichs der Rückkehr ist die gleiche wie true wenn die Vergleichsergebnisse in true Rückkehr und Rückkehr false wenn die Vergleichsergebnisse in false.

+0

Vielen Dank. Dieser letzte Absatz machte es klar. – Sparda

+0

Ja, der Check sollte wahrscheinlich "index! = -1" sein. – aaaidan

1

indexOf gibt -1 zurück, wenn "Mobile" nicht in navigator.appVersion ist. Die Rückgabe (index > -1) entspricht der Rückgabe true, wenn "Mobile" in navigator.appVersion und false ist, wenn dies nicht der Fall ist.

Verwandte Themen