1. Verwenden Sie gängige ternäre Operatoren
if (foo) bar(); else baz(); ==> foo?bar():baz(); if (!foo) bar(); else baz(); ==> foo?baz():bar(); if (foo) return bar(); else return baz(); ==> return foo?bar():baz();
Sie werden sicherlich mit der oben genannten Verwendung ternärer Operatoren zur Optimierung von if-Anweisungen vertraut sein, vielleicht verwenden Sie sie oft.
<script> var i=9 var ii=(i>8)?100:9; alert(ii); </script>
Ausgabeergebnis:
100
2. Verwenden Sie die Operatoren and(&&) und or(||)
if (foo) bar(); ==> foo&&bar(); if (!foo) bar(); ==> foo||bar();
3. Lassen Sie die geschweiften Klammern weg {}
if (foo) return bar(); else something(); ==> {if(foo)return bar();something()}
Sie und ich sind mit dieser Schreibmethode vertraut. Es wird empfohlen, dies bei der Optimierung des Codes zu tun Überlassen Sie es UglifyJS, Ihnen bei der Lösung zu helfen. Denn wenn eine geschweifte Klammer fehlt, ist die Lesbarkeit des Codes nicht gut.
Als ich dies schrieb, dachte ich an eine Methode zum Erhalten von HTML-Elementattributen in „Mastering JavaScript“ vom Vater von jQuery.
function getAttr(el, attrName){ var attr = {'for':'htmlFor', 'class':'className'}[attrName] || attrName; };
Wenn wir es nicht auf diese Weise schreiben, müssen wir möglicherweise zwei if-Anweisungen verwenden, um es zu verarbeiten. Der obige Code ist nicht nur prägnant und effektiv, sondern auch gut lesbar.
Wenn Sie sorgfältig darüber nachdenken, können wir oft effektive Wege finden, um Probleme zu lösen, aber der Schlüssel liegt darin, ob wir unser Herz einsetzen, um einen besseren Weg zu finden.
[Javascript-Kenntnisse] if(x==null) Abkürzung
if (x==null) oder if (typeof (x) == 'undefiniert') Es kann als if(!x) abgekürzt werden, was nicht verifiziert ist.
Im Gegenteil, wenn (x) bedeutet, dass x nicht leer ist
Beurteilen Sie, ob das Objekt existiert
if(document.form1.softurl9){ //判断是否存在softurl9,防止js出错 }
if(document.getElementById("softurl9")){ //判断是否存在softurl9,防止js出错 }
Ergänzung:
Javascript || && Abkürzung, wenn
<script type="text/javascript"> 如果你想写 if (!false) { alert('false'); } 不妨考虑写成: false || alert('false'); false || alert('false'); true || alert('true'); //output false; 用"||"的情况下,第一个条件true,不检测第二个直接返回true.第一个条件false,会执行第二个条件检测 false && alert('false'); true && alert('true'); //output true 用"&&"的情况下,第一个条件true,还会检测第二个条件。第一个条件false,直接返回false退出。 简而言之, 替换 if 的简单实用, ? : 替换 if else的实用。 写短小精悍的代码 usage: $("#regform input[type!=hidden]").each( function(index) { $(this).parent().has("p.valid-under").length || $('<p class="valid-under"></p>').appendTo($(this).parent()); } ); </script>
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung zur Verwendung von Operatoren, Operator und {} in Javascript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!