我从以前在这里工作的程序员那里“继承”了一个 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
. 这可能吗?如何?