ho sempre trovo il passaggio di valori di configurazione per le funzioni loro accesso in questo modo:Come ottenere il valore da Object, con valore di default
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;
}
dove ho poi li uso come questo:
var url = '<some-url>?id='+arg1+'&='+arg2 +'=' + arg3;
fa jQuery/ExtJS o qualsiasi altro framework forniscono una soluzione per accedere a variabili come questa in un modo semplice e dare alle variabili un valore predefinito?
Qualcosa di simile:
getValueOfObject(config,'args.arg3','<default>');
O c'è forse una soluzione standard per questo.
NOTA:
stavo anche pensando al modello comune in cui si hanno valori di default
var defaults = {
args: {
args1: ....
}
...
}
e fare un merge oggetto.
E quindi codificare l'oggetto in una stringa param. Ma come puoi vedere l'oggetto i valori contengono talvolta anche nomi di parametri.
Credo che sarà ok se 'config.args.arg1' è indefinito, ma non fallisce se' config' o 'config.args' è esso stesso indefinito? –
No, il valore non definito è falsificato, quindi la seconda parte della condizione viene assegnata a "pippo" in tale scenario. – karim79
@ karim79 sta implicando 'config.args.arg1' genererà se' config.args === undefined' – Raynos