我從此處工作的以前的程序員繼承了JS函數。我注意到在他的代碼中有兩個功能可以做同樣的事情,而且它們只有一點不同。根據傳遞給函數的參數更改條件以測試
第一個函數沒有參數,它的體內,他測試一個條件是這樣的:
function parseAll() {
for (var i = 0; i < 100; i++) {
if (obj.flag == 0) {
// do many other things I omit
}
}
}
第二個功能:
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
}
}
}
現在,我想的功能轉化爲一個功能,當第一個被覆蓋時,通過null
,當它被稱爲第二個時,通過string
。
所以,兩者之間的差異只會成爲測試的條件。
如何以編程方式更改要測試的條件,基於傳遞給函數的參數?我想測試obj.flag==0
如果我通過null
和obj.flag==0 && obj.str=stringOne
,如果我通過string
。這可能嗎?怎麼樣?
哇,非常感謝。 – ContentiousMaximus 2013-02-16 10:38:04
@ContentiousMaximus:很高興幫助! – 2013-02-16 10:40:19