我经常发现自己将配置值传递给访问它们的函数,如下所示:
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: ....
}
...
}
并进行对象合并。
然后将对象编码为param String。但是如您所见,对象值有时还包含参数名称。
config.args.arg1
未定义也可以,但是如果config
或者config.args
本身未定义,这不会失败吗?