ヒント 1: setTimeout。
アプリケーションのケース: たとえば、関数ループを 10 回実行したい場合、以前は通常、最初に setInterval を使用し、次に、clearInterval を使用する必要がありました。問題
(function () {
var i = 0;
関数 job() {
console.log(i );
if (i setTimeout(job, 1000); >}
job();
})( ; >
コードをコピー
コードは次のとおりです:
なぜこのメソッドは効率的ですか?
1 つ: l=arr.length が欠落しています。以前は、ステートメントの計算は 1 つ少なく、for(i=0;i
で結果を true または false と比較します。これには当然必要があります。その他の計算
ヒント 3: 効率的な割り当て
応用例: 従来の if 判定割り当てを放棄する
コードをコピー
コード
コードをコピー
コードは次のとおりです。次のように:
function attr(elem, name, value) {
ret.nodeValue = value
} else {
elem.setAttribute(name, value);
}
return elem;
} else { //ie6 7 には取得が難しい属性があります
ret = elem.getAttribute(name);
fixIe = elem.getAttributeNode(name) ).nodeValue;
ret = ret : fixIe ? fixIe : unknown;
}
上記のメソッドをテストするには? 🎜>attr(document.getElementById("test"), "classxx", "xx")
alert(attr(document.getElementById( "test"),"classxx"));
ヒント 5: getElementsByClassName
応用例: js にフレームワークがなかった頃、誰もがこの方法を効率的に真似できる方法を見てみましょう。これはまさに js 初心者向けのコードです。
コードをコピーします
コードは次のとおりです:
(function () {
var getElementsByClassName=function(cls, context){
var root = context document;
return document.querySelectorAll("." cls) : root.getElementsByClassName ? : help(" ", cls, context);
}
var help=function(tagName,cls,context){
var root= context || document,
return ret ;
}
})();
上記の JS の卑劣なテクニックは、他の人の JS フレームワークを使用する必要がなく、
これは、JS コード愛好家にとってはまだ何もないオリジナルの文章ですが、うまく書かれていると思われる場合は、賛成票を投じるか、友達にリンクを送ってください。