繁体   English   中英

javascript:将变量设置为第一个可用值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM