javascript - 或者门 (||) 将 false 排序为未定义

标签 javascript boolean switch-statement gate

我有这样的代码:

var IFS =
    document.isFullScreen || 
    document.webkitIsFullScreen || 
    document.mozIsFullScreen || 
    document.msIsFullScreen;

确切的问题是 ||盖茨排序falseundefined ,自 isFullScreen是一个 boolean 值。

如何解决这个问题?

最佳答案

如果每个元素都未定义,则 IFS 也将未定义。由于 undefined 是一个虚假值,您仍然可以将条件语句设置为:

var IFS =
    document.isFullScreen || 
    document.webkitIsFullScreen || 
    document.mozIsFullScreen || 
    document.msIsFullScreen;

if(!IFS){
    console.log('not full screen');
}

如果您仍然想保留 false 值,以防其他所有变量都 未定义,那么您可以使用类似以下内容:

var IFS =
    document.isFullScreen || 
    document.webkitIsFullScreen || 
    document.mozIsFullScreen || 
    document.msIsFullScreen || 
    false;

关于javascript - 或者门 (||) 将 false 排序为未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22460290/

相关文章:

javascript - Mobiscroll onBeforeShow,设置值

java - 程序的 MySQL boolean 输入未按预期工作

android - 如何压缩重复的 switch 语句

javascript - 为什么 spreads 和 destructuring 是不同的,即使它们看起来做的是相似的工作

javascript - 在 Firefox 扩展中重定向请求(nsiHttpChannel?)

java - Java将同一个对象多次传递给不同的方法

c - 如何使用 C 将具有 2 个变量的 IF 语句转换为 switch 函数?

javascript - jQuery 开关按钮开/关应设置不同的数据状态和 Onclick 功能

javascript - 如何在 Jest 中检查 Map 对象键

android - 在 Realm 数据库中过滤 - findAll 不适用于包含 boolean 值的查询