я следующий кодJavascript, если в другом месте альтернативы
function MyFunc() {
var add = function (props) {
if (props.hasOwnProperty('a') && props.hasOwnProperty('b')) {
return 'ab';
} else if (props.hasOwnProperty('c')) {
return 'c';
} else if (props.hasOwnProperty('d')) {
return 'd';
} else {
throw new Error("Doomed!!!");
}
};
var div = function() {
return "Hello from div";
};
var methods = {
add: add,
div: div
};
var funcCall = function (obj) {
if (!obj) {
throw new Error("no Objects are passed");
}
return methods[obj.fName](obj.props);
};
return {
func: function (obj) {
return funcCall(obj);
}
};
}
var lol = new MyFunc();
Когда lol.func({fName: 'add', props: {a: 'a', b: 'b'}});
запускается он должен вернуть правильный ответ из add
функций внутренних if else
заявления. Но может быть более 20 else, если вхождения. Мой вопрос будет ли это быть причиной плохой работы, Есть ли альтернатива Approch для достижения этой
UPDATE
Другой вопрос
Может кто-то пожалуйста, объясните мне, как реализовать на основе базы данных для этого кода
Там есть переключатель случай. –
вы можете попытаться проверить по следующей ссылке http://stackoverflow.com/questions/8304632/alternative-to-if-else-if-else-if-else-if-etc-in-javascript – nicksterwolf91
@ Esso Спасибо за ссылку.Не могли бы вы помочь мне реализовать настройку на основе карты для этого :) –