Я постоянно обнаруживаю, что передаю значения конфигурации функциям, получающим к ним доступ следующим образом:
var arg1 = 'test1';
if(isUndefined(config.args.arg1)){
arg1 = config.args.arg1;
}
var arg2 = 'param2';
if(isUndefined(config.args.arg2)){
arg2 = config.args.arg2;
}
var arg3 = '123';
if(isUndefined(config.args.arg3)){
arg3 = config.args.arg3;
}
где я позже использую их так:
var url = '<some-url>?id='+arg1+'&='+arg2 +'=' + arg3;
Предоставляет ли jQuery / ExtJS или любая другая инфраструктура решение для простого доступа к таким переменным и присваивает переменным значение по умолчанию?
Что-то вроде:
getValueOfObject(config,'args.arg3','<default>');
Или, может быть, есть стандартное решение для этого.
Примечание:
Я также думал об общей схеме, где у вас есть значения по умолчанию
var defaults = {
args: {
args1: ....
}
...
}
и выполняем слияние объектов.
А затем кодирование объекта в параметре String. Но, как вы можете видеть, объект значения также иногда содержат имена параметров.