如何避免 JavaScript 中的短路求值?

2024-02-29

我需要执行两边&&声明,但如果第一部分返回,则不会发生这种情况false。例子:

function doSomething(x) {
    console.log(x);
}

function checkSomething(x) {
    var not1 = x !== 1;
    if (not1) doSomething(x);

    return not1;
}

function checkAll() {
    return checkSomething(1)
        && checkSomething(3)
        && checkSomething(6)
}

var allValid = checkAll(); // Logs nothing, returns false

这里的问题是doSomething(x)应该记录 3 和 6,但是因为checkSomething(1)回报false,其他检查将不会被调用。运行所有检查并返回结果的最简单方法是什么?

我知道我可以保存变量中的所有值并随后检查这些值,但是当我进行大量检查时,这看起来不太干净。我正在寻找替代方案。


使用单个 &。这是一个按位运算符。它将执行所有条件,然后返回结果的按位和。

 function checkAll() {
    return checkSomething(1)
      & checkSomething(2)
      & checkSomething(3)
 }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何避免 JavaScript 中的短路求值? 的相关文章

  • 如何检测浏览器是否支持自定义元素

    我正在查看 Modernizr 它应该有助于功能检测 这应该可以帮助确定您的网站是否与给定的 Web 浏览器兼容 但我没有看到任何表明我可以使用它来检测自定义 HTML 的内容我们在内容中创建和定义的元素 如果不是 Modernizr 我如
  • 将 OoXml 插入单词抛出错误:未知

    我一直在尝试通过office js将OOXML插入到word文档的正文内容中insertOoXML 方法 我什至尝试过最简单的实现 认为我在尝试替换 XML 本身中的 fieldCodes 时做了一些不正确的事情 所有结果都是这样Error
  • 澄清Update() 和FixedUpdate() 的使用? Unity2D [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 所以我知道FixedUpdate应该用于物理操作等 但我很难理解什么算作物理 例如 我通过查看按下的键来移动角色 然后施加力 目前我正
  • 了解设置 JQuery 变量

    了解设置 JQuery 变量 最近 我通过在 StackOverflow 上遇到的另一个问题寻找帮助 了解到如何设置 JQuery 变量 如下所示 您可以通过简单地调用变量来创建输入字段 并且锚变量似乎也定义了样式 var clicked
  • 从数据 URI 解码 QR 码

    我尝试从数据 uri 中解码二维码 var dataUri data image gif base64 R0lGODdh9gD2AIAAAAAAAP ywAAAAA9gD2AAAC decodeQrCode dataUri cb 我已经尝试
  • Web 串行 API - 未捕获(承诺中)DOMException:无法打开串行端口/所需成员 baudRate 未定义

    下面的代码可以在我的 Xubuntu 机器上运行 但现在我在 Kubuntu 上 它不再工作了 它不会打开端口 Arduino IDE 工作正常 可以向开发板写入代码 并且我可以在 Chrome 中选择设备 Arduino Uno 但当我尝
  • 如何重置使用 JavaScript 更改的 CSS 属性?

    我的导航按钮的宽度从 100px 增加到 150px 当鼠标悬停在 nav li hover width 150px 但是使用 javascript 我已经做到了 无论选择哪个选项 宽度都将继续为 150px 当选择每个选项时 它会使其他选
  • 使用 JavaScript 使链接保持活动状态并在单击时显示悬停效果

    I am struggling to make this work I d like to make it where if O F is clicked the hover state stays active if another li
  • 检查 JavaScript 字符串是否为 URL

    JavaScript 有没有办法检查字符串是否是 URL 正则表达式被排除在外 因为 URL 很可能是这样写的stackoverflow 也就是说它可能没有 com www or http 如果你想检查一个字符串是否是有效的 HTTP UR
  • 使用 Angular 下载具有动态 src 的脚本

    Angular 提供了通过动态名称动态加载模板的方法ng include 该部分中的内联 JS 和 CSS 可以正常加载 但没有一个好的方法来下载带有动态 url 的脚本 我们需要下载脚本 相对于调用它们的 html 部分的路径 即我们有一
  • 为什么是 javascript:history.go(-1);无法在移动设备上工作?

    首先 一些背景 我有一个向用户呈现搜索页面 html 表单 的应用程序 填写标准并单击 搜索 按钮后 结果将显示在标准部分下方 在结果列表中 您可以通过单击将您带到新页面的链接来查看单个结果的详细信息 在详细信息页面中 我添加了一个 返回结
  • 使用 KnockoutJs 映射插件进行递归模板化

    我正在尝试使用以下方法在树上进行递归模板化ko映射 插入 http knockoutjs com documentation plugins mapping html 但我无法渲染它 除非我定义separate每个级别的模板 在以下情况下
  • 在javascript中解析json - 长数字被四舍五入

    我需要解析一个包含长数字的 json 在 java servlet 中生成 问题是长数字被四舍五入 当执行这段代码时 var s x 6855337641038665531 var obj JSON parse s alert obj x
  • HTML 离线应用程序缓存,列出下载的文件

    作为我正在构建的离线 Web 应用程序的加载屏幕的一部分 使用缓存清单 http developer apple com library safari documentation iPhone Conceptual SafariJSData
  • 如何获取给定 DOM 元素的所有定义的 CSS 选择器?

    如何使用 jQuery 获取给定 DOM 元素的所有定义的 CSS 选择器 定义后 我的意思是在应用于任何样式表的所有 CSS 选择器document 在某种程度上 这类似于 FireBug 实现的功能 其中显示所选 DOM 元素的所有应用
  • 在 vue.js 中访问数组对象属性

    给定以下数组vue js packageMaps Object packageMap 0 Object Id 16 PackageType flag list ProductCode F BannerBase packageMap 1 Ob
  • Javascript转换时区问题

    我在转换当前时区的日期时间时遇到问题 我从服务器收到此日期字符串 格式为 2015 10 09T08 00 00 这是中部时间 但是当我使用 GMT 5 中的 new Date strDate 转换此日期时间时 它返回给我的信息如下 这是不
  • 如何仅在最后一个
  • 处给出透明六边形角度?
  • 我必须制作这样的菜单 替代文本 http shup com Shup 330421 1104422739 My Desktop png http shup com Shup 330421 1104422739 My Desktop png
  • 为什么 jquery 没有检测到单选按钮未被选中的情况? [复制]

    这个问题在这里已经有答案了 可能的重复 JQuery radioButton change 在取消选择期间不会触发 https stackoverflow com questions 5176803 jquery radiobutton c
  • 在 React.js 中编辑丰富的数据结构

    我正在尝试为数据结构创建一个简单的基于网格的编辑器 但我在使用 React js 时遇到了一些概念问题 他们的文档对此没有太大帮助 所以我希望这里有人可以提供帮助 首先 将状态从外部组件传输到内部组件的正确方法是什么 是否有可能将内部组件中

随机推荐

  • Azure 分支 PR 策略 - 要求源分支是最新的

    我正在尝试在我的设备上获取优质分支机构政策develop分支 到目前为止我已经有了一些很好的基础知识 要求评审员批准 要求所有检查都通过 限制合并类型 我想确保 PR 中的源分支必须与其目标分支保持同步 我似乎找不到这个设置 想知道是否有人
  • 将 LEFT OUTER JOIN 转换为实体框架

    这是我想要转换为 EF4 3 的 SQL 查询 command database GetSqlStringCommand select H AUTHENTICATION ID USERNAME PERMISSIONS ORGANIZATIO
  • Spark SQL 中联接大表的优化方式是什么

    我需要使用 Spark SQL 或 Dataframe API 连接表 需要知道实现它的优化方法是什么 场景是 所有数据均以 ORC 格式 基本数据帧和参考文件 存在于 Hive 中 我需要将从 Hive 读取的一个基本文件 Datafra
  • 长按手势识别器仅在手指抬起时触发

    我在长按手势识别器方面遇到了一个有趣的问题 我将其中一个放在 UITableView 上 只有当我长按后抬起手指时它才起作用 所以基本上 我会将手指放在一个单元格上 然后当我抬起手指时 它会触发长按 我通过把printn长按开始和结束的时间
  • 使用 :data 属性作为选择器来过滤元素

    我正在尝试使用自定义数据属性通过下拉选择来过滤内容 我似乎无法让选择器正常工作 只是想知道这是否真的可能 目前正在看https api jqueryui com data selector https api jqueryui com da
  • 模型与服务解耦:如果我的模型需要服务怎么办?

    服务层应该位于模型层之上 因此 模型不应该调用服务 然而 我面临着我需要的情况 例如 interface Component getResult class Number implements Component private value
  • 自定义注解可以抛出自定义异常,而不是MethodArgumentNotValidException?

    我有一个 ExceptionHandler MethodArgumentNotValidException class 在验证失败时返回 HTTP 代码 400 我创建了一个自定义注释 需要将 HTTP 代码更改为 422 但是 由于异常处
  • Android Xperia X10 SoundPool

    我收到一些 Android 应用程序用户的报告称 X10 上没有播放声音 我有点困惑 因为它适用于我尝试过的所有其他手机 Neus One Hero Droid 我正在使用 SoundPool 类来播放声音 其他人在使用 X10 时是否遇到
  • 如何编译由多个文件组成的Go程序?

    我有一个小程序 由三个文件组成 所有文件都属于同一个包 main 但当我这样做时go build main go构建不成功 当它只是一个文件时 main go 一切正常 现在我花了一些功夫来分离代码 看起来编译器无法找到从中取出的内容mai
  • 从右到左方向按钮尺寸的不相关变化

    我将 9 个 jbutton 添加到 jpanel 中 并将面板添加到 jscrollpane 中 并将其添加到 jframe 中 http www pic1 iran forum ir images up9 954263236836585
  • 使用动态库进行 Objective C Method Swizzling

    我正在尝试学习方法调整 我在 Objective C 中创建了一个程序 它只调用其类中的一个方法 现在我正在尝试使用 DYLD INSERT LIBRARIES 加载动态库 以便我可以使用动态库中定义的新方法覆盖我的方法实现 目的是修改参数
  • 如何使用“concurrent.futures.ProcessPoolExecutor”取消长时间运行的子进程?

    你可以看到完整的here https github com traverseda rratbot blob master main py L35 我的代码的简化版本如下 executor ProcessPoolExecutor 10 try
  • 如何在 pl/sql 中的另一个游标的 select 语句中使用游标中的变量

    我想运行一个查询 获取结果 然后使用第二个语句 光标 中第一个语句的值与另一个 select 语句迭代该查询的结果 我的数据库中有 40 个用户 所有用户都具有相同的数据库模式结构 我想通过以下方式获取用户名 SELECT distinct
  • 在 PowerShell 中使用 StreamWriter 附加到文件

    我创建了一个 PowerShell 脚本 该脚本使用 StreamWriter 将 Windows 中文件夹的权限结果写入 CSV 文件 目前 该脚本为每个文件夹创建一个新文件 我的问题是 StreamWriter 是否可以附加到文件而不是
  • FirebaseCore 词法或预处理器问题

    所以我在使用 firebase 编译我的项目时遇到了问题 这个问题是在我更新所有 firebase pod 后开始的 自从我更新了 pod 后 我就一直收到此错误 词法或预处理器问题 然后当我转到错误是什么时 它说这个 找不到 Google
  • 对 kafka 消费者进行负载测试

    我试图弄清楚如何对卡夫卡消费者进行负载测试 在我的应用程序中 消费者从 kafka 读取消息并做了很多工作 其中大部分是在数据库中写入内容 由于这对我的团队来说是一个重要的过程 因此我希望能够对消费者进行负载测试 并能够获得一些有关消费情况
  • 将多行合并为一行以替换列中的空值

    如何将多行合并为一行 以便一行中的某些列替换要合并的另一行中相同列中的空值 这是我所拥有的和我想要实现的目标的一个例子 查询是 SELECT Drug Name DefaultVendor Name Drug Strength Catalo
  • AndroidrelativeLayoutalignTop不起作用

    我正在尝试在RelativeLayout 中使用alignTop 属性 以便将文本设置在个人资料图片的右侧 与图片的顶部对齐 这是我的布局
  • 将文本添加到 DataGridView 行标题

    C 是否允许将字符串添加到 DataGridView 中的 RowHeader 如果是的话 是如何实现的呢 我正在编写一个 Windows 窗体来显示今年迄今为止的客户付款数据 ColumnHeaders 显示一月 二月 三月等 而不是有一
  • 如何避免 JavaScript 中的短路求值?

    我需要执行两边 声明 但如果第一部分返回 则不会发生这种情况false 例子 function doSomething x console log x function checkSomething x var not1 x 1 if no