博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
当心JavaScript奇葩的逗号表达式
阅读量:5318 次
发布时间:2019-06-14

本文共 708 字,大约阅读时间需要 2 分钟。

看看下面的代码输出什么?

let a = 2;    switch (a) {        case (3, 2, 5):            console.log(1);            break        case (2, 3, 4):            console.log(2);            break        case (3, 2):            console.log(3);            break        default:            console.log(4);            break;    }

输出为: 3 

解析:“逗号操作符 对它的每个操作数求值(从左到右),并返回最后一个操作数的值。”

上面代码中第一个 case 的返回值为5,第二个为4 , 与 变量a的值都不相等,第三个为2,与a相等,所以最后输出 3 。

 

再看一例子:

let i, j;        let result = 0;        for (i = 0, j = 0; i < 3, j < 7; i++, j++) {            result = i + j        }        console.log(result)

输出为:12

解析:根据逗号操作符对它的每个操作数求值(从左到右),并返回最后一个操作数的值的特性可知逗号表达式 “i<3,j<7”,其实质上等于“j<7”,所以结果是 12

 

转载于:https://www.cnblogs.com/lwming/p/11167384.html

你可能感兴趣的文章
12、第七 - 网络编程基础 - 线程中的信号量(Semaphore)
查看>>
Linux Mysql 自动备份
查看>>
[转]MySQL远程连接ERROR 2003 (HY000):Can't connect to MySQL server on'XXXXX'(111) 的问题
查看>>
[基础] 常见分布
查看>>
安装eclipse和CDT
查看>>
浅谈对象的序列化(Serialize)
查看>>
IIS 状态代码
查看>>
iOS 简单获取当前地理坐标
查看>>
第四周 兴趣问题清单
查看>>
279. Perfect Squares
查看>>
汇编学习笔记(2)-80x86寻址方式
查看>>
队列同步器详解
查看>>
Vim常用操作总结
查看>>
我的前端规范——HTML篇
查看>>
java操作MongoDB
查看>>
第三节:numpy之数组数学运算
查看>>
Discuz去掉标题上的powered by discuz!
查看>>
博客园的Markdown编辑器学习
查看>>
题目:小明学算术
查看>>
闭包的初步研究
查看>>