Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从javascript中的可选设置读取可选属性_Javascript_Arguments_Optional - Fatal编程技术网

从javascript中的可选设置读取可选属性

从javascript中的可选设置读取可选属性,javascript,arguments,optional,Javascript,Arguments,Optional,在可选设置参数中读取可选属性的最有效方法是什么。我使用的是类似于: f = func(var1, optionalsettings) { var2 = (optionalsettings === undefined ? 0 : (optionalsettings['var2'] == null ? 0 : optionalsettings['var2'])); }; 但我觉得可以用javascript或jquery更高效地完成这项工作。您可以: var var2 =

在可选设置参数中读取可选属性的最有效方法是什么。我使用的是类似于:

f = func(var1, optionalsettings) {
    var2 = (optionalsettings === undefined ? 0 
         : (optionalsettings['var2'] == null ? 0 : optionalsettings['var2']));
};
但我觉得可以用javascript或jquery更高效地完成这项工作。

您可以:

var var2 = (optionalsettings && optionalsettings['var2']) || 0;

首先检查是否存在
optionalsettings
。如果是,则尝试返回
optionalsettings['var2']
。如果失败,则返回默认值

也可能是jquery的扩展:

function myTest(arg1, arg2, optionalsettings) {
   var settings = $.extend( {
     opt1 : val1
     , opt2 : val2}, optionalsettings || {})
...

请注意,它可以在没有括号的情况下工作,因为
&&
优先于
|
,但这样可读性稍高。