为什么 javascript 在 if 语句中接受逗号?

2024-03-22

我偶然发现了一些 JavaScript 语法,看起来应该会产生某种解析错误,但实际上却没有:

if (true, true) {console.log('splendid')} else {console.log('horrid')} // splendid
if (true, false) {console.log('splendid')} else {console.log('horrid')} // horrid

尽管所有表达式都被执行,但似乎只有最后一个表达式影响逻辑:

if  (console.log('super'), true) {console.log('splendid')} // super splendid

有人知道为什么这是有效的 JavaScript 语法吗?它有什么实际用途吗?


逗号运算符将多个表达式链接在一起,运算结果是最后一个操作数的值。它唯一真正的用处是当您需要发生多种副作用时,例如赋值或函数调用。

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

为什么 javascript 在 if 语句中接受逗号? 的相关文章

  • 我可以补间 D3 弧的结束角度,但不能补间起始角度。我究竟做错了什么?

    我只是在玩这个演示并自己重新创建它 http bl ocks org mbostock 5100636 http bl ocks org mbostock 5100636 我可以定义一个新的 endAngle 并且它会很好地制作动画 但现在
  • 如何在javascript中实现deque数据结构?

    我正在用 javascript 学习数据结构 我现在的重点是如何实现双端队列 编辑 从下面的评论中我得到了有关如何实施的有用指示deque based array 有没有一个具体实施的方向deque based object使用类 我明白了
  • 同步迭代 javascript 对象

    我有一个像这样的对象 let myObject db1 db1 file1Id db1 file2Id db 1file3Id db2 db2 file1Id db2 file2Id 我遍历这个对象并在每次迭代中 我连接到数据库 检索文件
  • 使用 MapBox GL JS 无需访问令牌

    有没有办法使用MapBox GL JS没有访问令牌 我在文档中找不到任何提示MapBox GL JS https docs mapbox com mapbox gl js api 然而 Uber建议是可以通过他们的图书馆 https ube
  • jQuery 函数在不应该运行的时候运行

    我有一个函数 仅当宽度小于特定值时才需要运行 我已经这样做了if window width lt n 但当宽度大于 n 时 该函数也会运行 The if if window width lt n 由于背景颜色发生变化 浅灰色 1000px
  • 使用 forEach 映射对象数组的 Object.entries 返回未定义,除非使用 console.log

    我有一个具有键值对的对象数组 我想在每个对象中找到特定的键并返回值 数组的示例 filterCounties StateName Delaware CountyName Kent FIPS 10001 Eligibles 2017 3329
  • 将 PhotoSwipe 配置为不使用整个窗口?

    我目前正在尝试使用构建移动图片库照片滑动 http photoswipe com 我已经能够让它工作了 但有一个小问题 当我 单击照片缩略图 实际照片总是占据整个 视口 当您在移动设备上查看图库时 这是可以的 但是 如果您的视口是计算机屏幕
  • 如何从数组中删除空数组值(“”)?

    我有一个二维数组 是用 jQuery 从 html 表生成的 但有些值是空的 所以 被展示 如何删除空值 table tr th 1A th th 1B th th 1C th tr tr td 2A td td 2B td td 2C t
  • 如何在没有 Web 服务器的情况下运行 ajax 代码?

    我在系统上没有服务器的情况下运行ajax 我用它创建了一个index html JavaScript 函数 function do the click url alert inside this method do the click aj
  • 使用正则表达式或其他解析从文件中读取值

    我有一个记录带有时间戳的值的文件 我必须在特定时间后读取特定值 例如 文件有 2013 03 03 19 08 22 car 2001 Ford 2013 03 03 19 08 27 Truck 2012 Chevy 2013 03 03
  • Oracle PL/SQL 块的语法图是否错误?

    我怀疑 a 的语法图plsql block如中给出的Oracle 数据库 PL SQL 语言参考对于 Release 2 来说是错误的 以供参考 这是当前的链接 http download oracle com docs cd E11882
  • 如何使用 JS 和 Chrome 控制台向频道发送 Discord 消息?

    如何使用 JS 和 Chrome 控制台在不使用 Discord API 的情况下将 Discord 消息发送到 Discord 频道 看来这是不可能的事了 打开不和谐控制台 ctrl shift i 不起作用 请参阅下面的编辑 然后进入网
  • 解码URIComponent抛出错误“URI格式错误”

    As unescape已被弃用 我已选择decodeURIComponent 但它没有按预期工作 decodeURIComponent无法解码以下 URI 组件 Coast 20Guard 20Academy 20to 20hold 20a
  • 跨多个子域的 WebAuthn

    我正在尝试在我的网站上设置 WebAuthn 身份验证流程 但遇到了问题 我希望我的用户能够在主网站 www domain com 上注册他们的设备 以便可以通过用户设置轻松访问 身份验证本身通过 IdP sso domain com 在不
  • 需要帮助在 D3.js 条形图中将 x 轴刻度与条形对齐

    我有一个可用的线性条形图D3 js http d3js org 它也有基于时间的 x 轴 条形图绑定到计数属性 而轴绑定到日期属性 轴上的刻度未与条形对齐 知道如何将它们两者排列起来吗 这是 jsFiddle http jsfiddle n
  • CSS/Javascript 将单词与特定字符对齐

    我如何使用 CSS Javascript 将 html 中的单词与该单词中的任意字符对齐 更改对齐字符的样式 例如使其粗体 以与其他字符形成对比 如本例中所示 对齐和粗体 k e t 和 f stack overflow stack ove
  • Javascript,检测触摸设备

    我正在使用此函数来检测设备是否是触摸设备 function is touch device return ontouchstart in window onmsgesturechange in window 从这里得到这个功能 使用 Jav
  • 计算 DIV 元素的最大/最小高度

    问题 给定一个具有固定高度的 DIV 元素 其中包含未知数量的子元素 这些子元素的大小相对于其高度 计算 DIV 可以调整大小的最大 最小高度 而不违反其子元素的任何最大 最小值元素 Example求 DIV A 的最大 最小高度 Answ
  • 如何避免JQuery和Prototype之间的冲突

    如果一个页面同时具有 JQuery 和 Prototype 那么我就会遇到冲突 有一个选项可以禁用 JQuery 的 符号 因此不会发生冲突 但是我必须使用关键字 JQuery 而不是 我想知道Prototype是否有任何选项可以解决这个冲
  • React-Router v4 渲染错误的组件但匹配正确

    我有一个带有两个按钮的侧边栏 测试 和 关于 Test 火箭图标 呈现在 test 处 About 主页图标 呈现在 处 它们都位于应用程序的根目录并嵌套在组件内 当我从 开始并单击 链接到 test 时 它总是加载 关于 组件 当我检查

随机推荐

  • 避免嵌入式目标上的虚拟函数

    我有一个class Player从由许多相等的块组成的大内存块中回放数据 typedef char chunk t 100 typedef struct chunk t data 100 blockOfMemory t 理论上 播放器本身可
  • 如何在不使用Tensorboard的情况下在Tensorflow中绘制损失曲线?

    嘿 我是 Tensorflow 新手 我使用 DNN 来训练模型 我想绘制损失曲线 但是 我不想使用 Tensorboard 因为我对此并不熟悉 我想知道是否可以提取每个步骤中的损失信息并使用其他绘图包或 scikit learn 绘制它
  • 没有重复子项的树

    Using anytree https pypi python org pypi anytree我制作了这样的树 A B C D F B C E G 有没有办法删除所有重复的子级并将其变成下面的树 对所有可能级别的子级进行递归 A B C
  • Android:如何重置发布版本的 resConfigs?

    为了让开发更快 我想做以下事情 android defaultConfig resConfigs en 我的应用程序有多种语言 这样做可以在开发时节省大量时间 但是 我不想发布包含此集的版本 很遗憾 resConfigs不适用于产品口味或构
  • 如何使用管道分隔符导出到 .csv

    我使用 Google Sheets 电子表格 来合并我的 Gambio 商店的不同来源的文章数据 要导入数据 我需要在 csv 文件中使用管道符号作为分隔符 分隔符 并使用 作为文本分隔符 在用于导出到 csv 的 Google 表格菜单中
  • 我可以在 POSTMAN 中发送二维数组作为参数吗?

    我需要在 POSTMAN 中将参数作为对象数组发送 array field1 html field2 5 field1 css field2 3 我知道数组必须发送为array 但如何将数组中的一项设置为对象呢 我试过这个 array fi
  • 一次播放多个声音?

    我在一个视图上有 6 个声音 然而我想要它 这样我就可以一次播放多个声音 所以你点击声音 1 声音 1 正在播放 然后声音 2 播放 当声音 1 仍在播放时 但此时我按声音1 声音1播放 按声音2 声音2播放 但声音1停止 这是音频部分的代
  • 当我们有 LinkedBlockingQueue 时,为什么还要使用 ConcurrentLinkedQueue?

    我为什么要使用ConcurrentLinkedQueue当我有LinkedBlockingQueue 我知道ConcurrentLinkedQueue是非阻塞的但是LinkedBlockingQueue可以作为ConcurrentLinke
  • 适用于 Windows 的命令行对话框工具

    我需要一个类似于 cdialog 或whiptail 的对话框工具 但可以在 Windows 上运行 我有 MinGW 从源代码编译一些东西是没有问题的 但据我所知 cdialog 和 Whiptail 都包含特定于 UNIX 的代码 因此
  • Spring Boot不加载静态资源

    有很多关于 spring boot 不加载静态资源的问题 并且读完它们 几乎 后我仍然无法解决这个问题 在这个阶段 我选择不使用 Spring Boot 运行 但我仍然想知道问题是什么 我正在使用 Eclipse Java 8 和 Mave
  • 使用 VLC 将文件流式传输为 RTSP

    我需要创建一个可以将 mp3 文件流式传输到另一个设备的服务器 我打算使用 VLC 我查看了 VLC 文档 并对执行此操作的前进方向感到困惑 我找到了这个链接 http www videolan org doc streaming howt
  • T-SQL 到 XML - 每个属性的多个值可以在自己的行中列出吗?

    我目前正在使用 T SQL 将一些数据转换为 XML 我需要在自己的行上列出属性的值 由于某种原因 T SQL 到 XML 不断将值连接在同一行上 示例代码 SELECT Fruits AS Attribute name Apple AS
  • jQuery 中的triggerHandler 与触发器

    出于好奇 jQuery 的目的 用例是什么triggerHandler 据我所知 两者之间唯一 真正 的区别trigger and triggerHandler是本机事件是否触发 以及事件冒泡行为 尽管triggerHandler的冒泡行为
  • RUBY - SSL、基本身份验证和 POST

    我对此感到相当困难 似乎有一些代码片段我似乎无法拼凑在一起 我只是想发布键 值对 但是得到Connection refused connect 2 Errno ECONNREFUSED Help require net http requi
  • Spark Driver 内存计算

    我知道如何计算执行器核心和内存 但是谁能解释一下spark driver memory是根据什么计算的 操作于Dataset比如collect take需要将所有数据移至应用程序的驱动程序进程中 并且在非常大的数据集上执行此操作可能会导致驱
  • MVC 3 授权自定义角色

    我是 MVC 3 新用户 我正在尝试通过 SQL 数据库进行管理 首先 我有客户实体 可以通过管理字段定义管理 该字段是客户实体中的布尔类型 我只想在产品页面中访问管理员 而不是在普通客户中 我想制作 Authorize Roles adm
  • 带字符串的多行内联汇编宏

    我正在尝试实现一个宏 MY MACRO 它存储某个部分中前面带有 32 位整数的字符串 my section 例子 MY MACRO 200 my first string u x 以下是我尝试过的选项以及我面临的问题 我将不胜感激任何帮助
  • 在调试器中跳过表达式主体属性

    有没有类似的 DebuggerStepThrough 属性可用于 C 中的表达式主体属性 例如我想跳过代码 public Byte ByteArray gt Builder CreateArray DebuggerStepThrough 不
  • 如何不在 NextJS 登录页面上渲染布局组件

    如何排除渲染Layout当路由为 login register等等 在 NextJS 中 const MyApp Component pageProps gt return
  • 为什么 javascript 在 if 语句中接受逗号?

    我偶然发现了一些 JavaScript 语法 看起来应该会产生某种解析错误 但实际上却没有 if true true console log splendid else console log horrid splendid if true