最初のコードは、プロジェクトでスイッチを使用することを目的としていたため、後でパフォーマンスをテストしたときに、このコードが醜いことに気づきました。パフォーマンスが桁違いに向上したことは、この書き込み方法によって場合によってはパフォーマンスが向上することがわかりますが、switch と || のパフォーマンスをテストしたため、どのような状況でパフォーマンスが向上するかはわかりません。 && は通常の状況ではほぼ同じです。
元のコード:
switch(this.now_char=this .str.charAt(this.index)){
case "/":
if(this.handleNote()) continue;else this.str2 = this.now_char;
break;
case """:
case "'":
if(this.handleStr()) continue;else this.str2 =this.now_char;
Break;
case "n":
if(this.handleLine()) continue;else this.str2 =this.now_char;
case "{":
case " }":
if(this.handleDepth() ) continue;else this.str2 =this.now_char;
break;
case ":":if(this.handleJson()) continue;else this .str2 =this.now_char;break;
default :
if(this.handleKeyword()) continue;else this.str2 =this.now_char;
書き換えられたコードの機能は、もちろん同じビューのsourceprint?1 (this.now_char=="/"&&(this.handleNote()||(this.str2 =this.now_char)))||
((this.now_char=="""| |this.now_char=="'")&&(this.handleStr()||(this.str2 =this.now_char)))||
( this.now_char=="n"&&(this.handleLine( )||(this.str2 =this.now_char)))|| ((this.now_char=="{"||this.now_char=="}") )&&(this.handleDepth()||(this.str2 =this.now_char)))||
(this.handleKeyword()||(this.str2 =this.now_char))
2 番目の方法||&& 役立つよう、その記事の紹介を読んでください。
コードの 2 番目の部分では、次の機能が使用されています: (ele=document.createElement("div"));/ /この式は dom 要素を返し、割り当てられると外側の括弧
に値が返され、次のコードが出力されます:
for(var i in options){
target[ i]=options[i]
}
}
var ele=null;
mixin(ele=document.createElement("div"),{
id: "aa",
className: "bb",
innerHTML: "sss"
})
document.body.appendChild(ele)
debug(ele.id)//aa
debug(ele .className)//bb
debug(ele.innerHTML)//sss
このコードは、dom 要素を作成するときに多くのステートメントに本当にうんざりしているためです:
コードをコピーします
コードは次のとおりです: var ele=document.createElement("div")
ele.id="aa";
ele.className="aa"
ele.innerHTML="sss"
待って、待って、とても迷惑です。 >ということで、上記のコードが出てきました。
上記の原理を利用すると、 ( ele=document.createElement("div")).className="aa"; のようにコードを書くこともできます。上記の文は変数名を保存します (笑)。