var a,b;
a = 5, b = function () {
console.log("ok");
};
这样写没有问题啊。。。这里的逗号(第二个)该如何理解呢?
还有一种写法最近经常看到,不是很理解,如下:
x && (a=2,b=3);
假设x为真,那么a=2,b=3都会被执行吗?这里的逗号,圆括号是什么用法?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
第二个逗号和第二个问题的逗号就是从左到右依次赋值
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而已。
var a,b;表示声明两个变量相当于var a; var b; 也就是var可以声明多个变量,变量之间用逗号隔开。x为真,后面的表达式才会被执行。如果x为假,就不会执行。你应该理解
&&是短路运算,假如第一个表达式是false,就不会去检查第二个表达式了。圆括号也是个运算符,可以看一下mdn上面的https://developer.mozilla.org...,里面逗号也是运算符,会依次执行,并最终返回最后一个操作对象的值,这里
(a = 2, b = 3)将返回 3。回答你第二个问题,=。=
假设x为真的话,后面的语句会执行,因为&&运算符执行顺序是:
command1 && command2
command1为true,执行command2
圆括号优先级最高,逗号运算符属于多重运算符,先计算左边的,再计算右边的,最后返回右边的值,举个栗子~