js UND-ODER-Operator || && ist ein wunderbares Tool, mit dem Code optimiert und die Lesbarkeit des Programms verringert werden kann.
Anforderung 1.
Angenommen, die Anzeigevorschriften für die Wachstumsgeschwindigkeit lauten wie folgt:
Eine Wachstumsrate von 5 zeigt 1 Pfeil an.
Eine Wachstumsrate von 10 zeigt 2 Pfeile an.
Eine Wachstumsrate von 12 zeigt 3 Pfeile an;
Eine Wachstumsrate von 15 zeigt 4 Pfeile an;
Wie implementiert man es mit Code?
Die Wachstumsrate beträgt > 12 zeigt 4 Pfeile an;
Eine Wachstumsrate von >10 zeigt 3 Pfeile an
Eine Wachstumsrate von >5 zeigt 2 Pfeile an ;
Eine Wachstumsrate von >0 zeigt 1 Pfeil an.
Eine Wachstumsrate von <=0 zeigt 0 Pfeile an.
Dann wird es sehr mühsam sein, es mit dem Schalter zu implementieren.
Haben Sie jemals darüber nachgedacht, es mit nur einer Codezeile zu implementieren?
ok, werfen wir einen Blick auf die kraftvolle Ausdruckskraft von js:
var add_level = (add_step==5 && 1) || (add_step==10 && 2) || (add_step==12 && 3) || (add_step==15 && 4) || 0;
var add_level={'5':1,'10':2,'12':3,'15':4}[add_step] || 0;
var add_level = (add_step>12 && 4) || (add_step>10 && 3) || (add_step>5 && 2) || (add_step>0 && 1) || 0;
Übrigens: Die Leute fragen mich oft, warum ich if(attr) nicht direkt schreibe, wenn ich viel Code sehe if(!!attr); :
Bitte testen Sie den Unterschied zwischen typeof 5 und typeof !!5. Die Funktion von !! besteht darin, eine Variable eines anderen Typs in einen Bool-Typ umzuwandeln.
Im Folgenden werden hauptsächlich die logischen Operatoren && und || besprochen.
In fast allen Sprachen folgen || und && dem „Kurzschluss“-Prinzip. Wenn beispielsweise der erste Ausdruck in && falsch ist, wird der zweite Ausdruck nicht verarbeitet, während || genau das Gegenteil ist.
js folgt auch den oben genannten Prinzipien. Aber was noch interessanter ist, ist der Wert, den sie zurückgeben.
Code: var attr = true && 4 && „aaa“
Dann ist das Ergebnis der Operation attr nicht einfach wahr oder falsch, sondern „aaa“
Lassen Sie uns einen Blick darauf werfen ||:
Code: var attr = attr ||. „“; Diese Operation wird häufig verwendet, um festzustellen, ob eine Variable definiert wurde. Denn im Gegensatz zu PHP kann js func($attr=5) direkt für die Typparameter definieren. Ich erinnere Sie noch einmal daran, sich an das obige Prinzip zu erinnern: Wenn der tatsächliche Parameter 0, „“, null, falsch, undefiniert oder NaN sein muss, wird er auch als falsch behandelt.
if(a >=5){ alert("你好"); }
a >= 5 && alert("你好");
Einerseits kann die Optimierung des JS-Codes den Netzwerkverkehr erheblich reduzieren, insbesondere für weit verbreitete öffentliche JS-Bibliotheken. Was ich persönlich empfehle ist: Wenn es sich um eine relativ komplexe Anwendung handelt, schreiben Sie bitte einige entsprechende Kommentare. Dies entspricht dem Ausdruck, der den Code vereinfachen kann, jedoch die Lesbarkeit verringert und die Anforderungen an Personen, die den Code lesen, höher sind. Der beste Weg ist das Schreiben von Kommentaren.
Wir müssen diese Techniken nicht verwenden, aber wir müssen sie verstehen können, da diese Techniken weit verbreitet sind, insbesondere der Code in JS-Boxen wie JQuery. Wenn Sie diese nicht verstehen Es wird schwierig sein, den Code anderer Leute zu verstehen.
Wie var Yahoo = Yahoo || {}; dies wird sehr häufig verwendet.
OK, schauen wir uns endlich einen Code in jQuery an: