ja ciągle znajduję się przechodząc wartości konfiguracyjne do funkcji dostępu do nich tak:Jak uzyskać wartość od obiektu o wartości domyślnej
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;
}
gdzie później wykorzystać je tak:
var url = '<some-url>?id='+arg1+'&='+arg2 +'=' + arg3;
robi jQuery/ExtJS lub jakakolwiek inna struktura zapewnia w prosty sposób dostęp do zmiennych w ten sposób i nadaje zmiennym wartość domyślną?
Coś jak:
getValueOfObject(config,'args.arg3','<default>');
Czy jest tam może standardowe rozwiązanie dla tego.
UWAGA:
Byłem też myśleć o wspólnej strukturze, gdzie trzeba domyślnie
var defaults = {
args: {
args1: ....
}
...
}
i robi scalanie obiektu.
A następnie kodowanie obiektu do łańcucha param. Ale jak widać obiekt wartości również czasami zawierają nazwy parametrów.
Wierzę, że będzie dobrze, jeśli 'config.args.arg1' jest niezdefiniowany, ale nie zrobisz tego, jeśli' config' lub 'config.args' będzie niezdefiniowane? –
Nie, undefined jest oceniany jako falsy, więc druga część warunku zostaje przypisana do 'foo' w takim scenariuszu. – karim79
@ karim79 sugeruje, że 'config.args.arg1' wyrzuci, jeśli' config.args === undefined' – Raynos