我有一个很长的switch语句,我需要用更多的练习语句替换它,任何帮助请:
switch (global.testSuite) {
case "cleanCache":
testSenarios.cleanCache();
break;
case "setting":
testSenarios.setting();
break;
case "installExtensions":
testSenarios.installExtensions();
break;
case "addIndividualContact":
testSenarios.addIndividualContact();
break;
case "addContact":
testSenarios.addContact();
break;
case "add":
testSenarios.add();
break;
}
如果你在testSenarios
中只有有效的属性,你可以检查并用括号调用函数property accessor。
if (global.testSuite in testSenarios) {
testSenarios[global.testSuite]();
}
或者,如果您有更多属性而不是函数,则可以检查function
。
if (typeof testSenarios[global.testSuite] === 'function') {
testSenarios[global.testSuite]();
}
可以使用具有键值对的Object轻松替换开关盒。
//Define a object
const testSuite = {
cleanCache : testSenarios.cleanCache,
setting : testSenarios.setting
......
....
}
//Then Replace the switch-case block with a single call
testSuite[global.testSuite]()
您甚至可以添加“默认”键来处理默认情况。