2

ここにいくつかのコードがあります

  var docDiv= document.getElementById("divId");

  var dojoDiv= dom.byId("divId");

javascript の document.getelementbyid と dojo の dom.byid の違いは何ですか? これはもう 1 つ高速です。dom を使用する場合は、dojo.js をロードする必要があります。

4

4 に答える 4

2

Dojo の dom.byId の非 IE バージョンは次のとおりです。

dom.byId = function(id, doc){
            // inline'd type check.
            // be sure to return null per documentation, to match IE branch.
            return ((typeof id == "string") ? (doc || win.doc).getElementById(id) : id) || null; // DOMNode
        };

お気づきのように、getElementById を使用しています。

これがあなたの質問に答えることを願っています。

于 2013-04-07T06:08:10.390 に答える
1

道場が内部的に使っているので document.getElementById()より速いと思います 。dom.byId()document

于 2013-04-07T06:03:37.867 に答える
0

Dojo github コードhttps://github.com/dojo/dojo/blob/master/dom.js#L51document.getElementByIdから、内部的に使用

dom.byId = function(id, doc){
    // inline'd type check.
    // be sure to return null per documentation, to match IE branch.
    return ((typeof id == "string") ? (doc || win.doc).getElementById(id) : id) || null; // DOMNode
};

を使用するdocument.getElementByIdと、この関数の呼び出しを回避できdom.byIdます!..しかし、パフォーマンスの差は非常に小さくなります

dom.byId使用するのが短いので、私は好きです。document.getElementByIdそうしないと、どこにでも長く書く必要があります。

于 2013-04-07T06:07:58.187 に答える