javascript - 逗号当分号用了?
黄舟
黄舟 2017-04-11 11:22:22
[JavaScript讨论组]
var a,b;
a = 5, b = function () {
                console.log("ok");
            };

这样写没有问题啊。。。这里的逗号(第二个)该如何理解呢?
还有一种写法最近经常看到,不是很理解,如下:

x && (a=2,b=3);

假设x为真,那么a=2,b=3都会被执行吗?这里的逗号,圆括号是什么用法?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(3)
伊谢尔伦

第二个逗号和第二个问题的逗号就是从左到右依次赋值

  • a && b当a为true的时候,执行b,返回b的bool值。当a为false的时候,不执行b,返回false。

  • a || b当a为true的时候,不执行b,返回true。当a为false的时候,执行b,返回b的bool值。

括号就是为了把代码合为一体,表明是一个整体的表达式。

迷茫

逗号是一种运算符。 从左到右执行。
//var a,b;声明里面的逗号只是省了一个var而已。

ringa_lee

回答你第二个问题,=。=
假设x为真的话,后面的语句会执行,因为&&运算符执行顺序是:
command1 && command2
command1为true,执行command2

圆括号优先级最高,逗号运算符属于多重运算符,先计算左边的,再计算右边的,最后返回右边的值,举个栗子~

var a = 1, b = 2;
function commaTest1() {
    return a,b
}
function commaTest2() {
    return b,a
}
commaTest1(); // result: 2
commaTest2(); // result: 1
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号