私はここで働いていた前のプログラマーからJS関数を「継承」しました。彼のコードには同じことをする2つの関数があり、それらは少しだけ異なっていることに気づきました。
最初の関数は引数をとらず、その本体の中で次のように条件をテストします。
function parseAll() {
for (var i = 0; i < 100; i++) {
if (obj.flag == 0) {
// do many other things I omit
}
}
}
2番目の関数:
function parseOne(stringOne) {
for (var i = 0; i < 100; i++) {
if (obj.flag == 0 && obj.str = stringOne) {
// do other things I omit (same identical things as in the function parseAll
}
}
}
ここで、関数を1つの関数に変換しますnull
。最初の関数でカバーされている場合はstring
いつを渡し、2番目の関数を呼び出す必要がある場合はを渡します。
したがって、2つの違いは、テストする条件のみになります。
関数に渡された引数に基づいて、テストする条件をプログラムで変更するにはどうすればよいですか?合格したかどうか、合格したかobj.flag==0
どうかをテストしたい。これは可能ですか?どのように?null
obj.flag==0 && obj.str=stringOne
string