Frage

Javascript-Code:

var a = (b) ? b : 40;

Es funktioniert, sagt nur NetBeans:"Verwenden Sie den Operator || (Spalte [wo ist der ?is])".Ich habe keine Erklärung gefunden.

Was ist das?

Danke!

War es hilfreich?

Lösung

Wenn Sie nur auf die Richtigkeit von testen b dann können Sie dies tun:

var a = b || 40;

... was kürzer und (wohl) offensichtlicher ist.Mit JavaScript, || ist ein Kurzschlussoperator.Es gibt die linke Seite zurück, wenn es wahr ist, andernfalls gibt es die rechte Seite zurück.(also.es wird kein Boolescher Wert zurückgegeben, es sei denn, die Eingabe war ein Boolescher Wert).

Wenn du sehen willst, ob b ist eigentlich definiert, dann bist du besser dran mit:

var a = (typeof b !== "undefined") ? b : 40;

Andere Tipps

Die Rohre sind die or Anweisung. var a = b || 40 sagt, wenn b ein nicht falscher Wert ist, sei a = b, sonst 40.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top