2016-04-30 2 views
0

は:JavaScript:paramをローカル変数に置き換えますか?私はこのような目的球持ちの場合

function xyz(b) 
{ 
    for(var i = 0; i < b.length; i++) 
    { 
     // do something with b items... 
    } 
} 

を、私はそのアイテムを使用する前に、その関数の内部でローカル変数にBを代入した場合...それはより多くのメモリにやさしいのではないでしょうか?彼らは唯一の機能に存在しているので、あなたの例では

function xyz(b) 
{ 
    var c = b; 

    for(var i = 0; i < c.length; i++) 
    { 
     // do something with c items... 
    } 
} 
+0

このようなことで時間を失うことはありません。あなたはいつも別の場所を駄目にします。信頼してください。これがパフォーマンスに影響するかどうかは、0.0001% –

+0

です。 bは既にcと同じローカル変数です。 javascriptエンジンはvar c = bをintepretしてCPUサイクルを無駄にしなければならないので効率が悪くなります。どのような無駄。笑。 – dfdsfdsfsdf

+0

@KMCそうでない場合でも、これは決してコードのパフォーマンスに大きな影響を与えません! –

答えて

2

は両方bcはローカル変数です。だからあなたのコードは実際にはあまりパフォーマンスが悪くなります。

サイドノート - コードのパフォーマンスを向上させたい場合は、c.lengthをforループ全体に対して1回だけ計算する必要があります。あなたの例では、ループの繰り返しごとにそれを計算しています。

for (var i = 0, cLen = c.length; i < cLen; i++)

を、それがループを開始する前に一度だけ、それを計算し、この方法は、次のように代わりにあなたが行うことができます。

関連する問題