2010-06-16 27 views
5
function doIt(param) { 
    var localVar = param; 
    //do lots of stuff with localVar 
} 

function doIt(param) { 
    //do lots of stuff with param 
} 

Yukarıdaki kodlar arasında verimlilik açısından bir fark var mıdır?Yerel değişken vs parametresi

+0

Bu basit [benchmark] deneyin (http://jsbin.com/uyani3/7/). Bir fark bulursanız (Firefox ve Opera'da ilginç sonuçlar alıyorum) IMO zaten göz ardı edilebilir. – CMS

cevap

5

Fark yoktur. Bir parametre, yalnızca çağrı sırasında geçirilen argüman ile başlatılan bir yerel değişkendir.

Bununla birlikte, değişkeninizin değerini değiştirecekseniz, parametre değişkenlerini değiştirilemeyen, okunabilirlik ve sürdürülebilirlik nedenlerinden ötürü genellikle iyi bir uygulama olarak kabul edilir.

0

param değişken zaten bir yerel değişkendir; bu nedenle bu iki kod parçacığı arasındaki tek fark, ilk öğenin param değişkeninin işe yaramaz kopyasını yaratmasıdır.

+1

Bu bile değil. Herhangi bir iyi derleyici ara ölü değişkenlerden (param gibi) kurtulmalıdır. – Karmastan

İlgili konular