[英]javascript: set a variable to the first available value
在CSS中,您可以将像font-family这样的属性设置为以逗号分隔的内容列表,并使用找到的第一个内容。
font-family: Fancy Font, Arial, sans-serif;
在Javascript中,我开始习惯于使用双栏逻辑OR作为将变量设置为第一个可用值的方法。
var x = parameters.x || user_default.x || 123;
我发现的问题是||
将0
计算为false
,跳过该值。 也许这是一个梦想,但是有一种优雅的类似语法我可以使用而不会导致这些误报吗?
你不能用简单的||
做到这一点 运算符因为在js 0中是假的(以及"", undefined, null and false
),所以它将使条件失败。 您可以编写一个这样的简单实用函数。
function tryGetValue() {
var val;
for (var i = 0, l = arguments.length; i < l; i++) {
val = arguments[i];
if (val !== undefined && val !== null) //check only for null & undefined, you can also do if (val != null) which will check for both null and undefined but it will fail in jslint validation.
return val;
}
}
用法:
var x = tryGetValue(parameters.x, user_default.x , 123);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.