ホームページ >ウェブフロントエンド >jsチュートリアル >実践的な高度なjsスキル5つ_javascriptスキル

実践的な高度なjsスキル5つ_javascriptスキル

WBOY
WBOYオリジナル
2016-05-16 17:58:15956ブラウズ

ヒント 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 判定割り当てを放棄する



  • コードをコピー


    コード

    var i=1,ret; ret==1||true; 上記のコードは、ret が true であることを魔法のように示します。これは効率的であり、値を割り当てた後に if(i!==1) を使用しません。 スキル 4: 強力な短い属性 適用例: setAttribute , getAttribute. このメソッドは標準の属性を設定するだけでなく、任意の属性を設定することもでき、互換性があります



    コードをコピー

    コードは次のとおりです。次のように:


    function attr(elem, name, value) {
    var ret; if (value) { if (/msie [6-7].0 /i.test(navigator.userAgent)) { ret = elem.getAttributeNode(name); if (!ret) { //ie6 7 不正な属性設定。ここで ret = を設定できます。 document.createAttribute(name); elem.setAttributeNode(ret);
    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 コード愛好家にとってはまだ何もないオリジナルの文章ですが、うまく書かれていると思われる場合は、賛成票を投じるか、友達にリンクを送ってください。
    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。