我什么时候应该使用这样的东西而不是常规的 Switch 语句?各自的优缺点是什么?
function ABC(i, j, a) {
var ops = {
'add': function(i, j) { return i + j; },
'minus': function(i, j) { return i - j; },
'multiply': function(i, j) { return i * j; },
'random': function(i, j) {
return ops[['add', 'minus', 'multiply'][Math.floor(Math.random() * 3)]](i, j);
}
};
return ops[a](i, j);
}