2016-11-22 16 views
0

私はどのような略語のテクニックやstackOverflowの質問でも、次のことが略語のテクニックになるのではないかと思います。変数を関数の引数として宣言してみませんか?

function myFunc(arr, i) { 
    for(i = 0; i < arr.length; i++) { 
    if(arr[i] === 3) {return true;} 
    } 
} 

I:それは書くためにその場合には良い練習

function myFunc(arr) { 
    var i; 
    for(i = 0; i < arr.length; i++) { 
    if(arr[i] === 3) {return true;} 
    } 
} 

です:

は、私はそれに渡されます正確に1引数が存在しているはずの機能を持っている想像しますほとんどの場合、4バイトしか保存しませんが、これは非常に小さな改善ですが、短い関数の場合は変数を宣言するのに1/2行を無駄にすることなく読みやすくなります。

編集:私も関数の範囲で宣言したいと思います。forループsincで再利用できるようにしたいと思います。

+1

を心配メソッドのシグネチャのみを使用して、メソッド内に数バイトを保存することができます。 'i'で渡す理由はありません。 – Amy

+2

'for(var i = 0; i

+0

この「保存された4バイト」はどうですか?なぜ、内部でしか知られていないか、または内部的に使用されている変数が、外部ソースからの関数に提供されるように関数に要求したいのですか?あなたがここで達成しようとしていることは明確ではありません。 – David

答えて

1

forループで実際にiを使用する場合にのみこれを行います。

例:

function myFunc(arr, i) { 
    for(i; i < arr.length; i++) { 
     arr[i]; 
    } 
} 

// Why you would do this though, is another matter (and bizarre) 
myFunc(anArray, 9); 

代わりに、それを行う方が良いでしょう:

function myFunc(arr) { 
    for(var i = 0; i < arr.length; i++) { 
     arr[i]; 
    } 
} 

なく変更することをお勧めではありません約4バイト...

+0

こんにちは、あなたの答えに感謝します。あなたは 'for(var i = 0; ...')について真実ですが、私は関数の範囲で宣言することをお勧めします。後で再利用してください... –

+0

ループカウンタを使用する場合、ほとんどの場合、ループの外側で使用することはありません。 – Stuart

+0

はい、確かに、私は別の 'for'ループまたは別のものに対してiを再利用したいかもしれません何らかの一時的なデータを保存するだけです...しかし、とにかく、これは解決策になります。 –

関連する問題