0

オブジェクトを使用する際のベストプラクティスについて少し議論があります。オブジェクトプロパティ値を取得するために次の方法を使用する人もいます。

object[a][b][...][z] 

他の人は、次のコードを一度使用すると

var ref=object[a][b][...][z]

そして、特定のオブジェクト値がより高速である必要があるときはいつでも「ref」変数を使用します。

2番目のケースで最適化があるかどうか誰かが知っていますか?たとえば、大きなオブジェクトをループする必要がある場合:

//with reference
for(var a in object){

    for(var b in object[a]){

        ...

            var ref=object[a][b][...][y];

            for(var z in object[a][b][...][z]){

                if(ref){
                    ....
                }
            }
        ...
    }
}

//without reference
for(var a in object){

    for(var b in object[a]){

        ...

            for(var z in object[a][b][...][z]){

                if(object[a][b][...][y]){
                    ....
                }
            }
        ...
    }
}
4

1 に答える 1

1

'ref'バージョンでは、オブジェクトルックアップが保存されるため、より高速になります。

jsperfテストはこれを確認します:http://jsperf.com/ref-or-no-ref

于 2012-08-17T11:55:28.337 に答える