Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
逗号在JavaScript表达式中起什么作用?_Javascript_Comma Operator - Fatal编程技术网

逗号在JavaScript表达式中起什么作用?

逗号在JavaScript表达式中起什么作用?,javascript,comma-operator,Javascript,Comma Operator,如果我使用: 1.09 * 1; // returns "1.09" 但如果我使用: 1,09 * 1; // returns "9" 我知道1,09不是一个数字 逗号在最后一段代码中起什么作用 更多例子 逗号运算符计算这两个值 它的操作数(从左到右)和 返回第二个值的值 操作数 资料来源: 例如,表达式1,2,3,4,5的计算结果为5。显然,逗号运算符只对有副作用的操作有用 console.log(1,2,3,4,5); 控制台日志((1,2,3,4,5)) 逗号运算符计算这两个值

如果我使用:

1.09 * 1; // returns "1.09"
但如果我使用:

1,09 * 1; // returns "9"
我知道1,09不是一个数字

逗号在最后一段代码中起什么作用

更多例子

逗号运算符计算这两个值 它的操作数(从左到右)和 返回第二个值的值 操作数

资料来源:

例如,表达式
1,2,3,4,5
的计算结果为
5
。显然,逗号运算符只对有副作用的操作有用

console.log(1,2,3,4,5);
控制台日志((1,2,3,4,5))
逗号运算符计算这两个值
它的操作数(从左到右)和
返回第二个值的值
操作数

资料来源:

例如,表达式
1,2,3,4,5
的计算结果为
5
。显然,逗号运算符只对有副作用的操作有用

console.log(1,2,3,4,5);
控制台日志((1,2,3,4,5))看一看-逗号代表多个表达式/语句。例如,在您的代码中,可以使用如下行:

var a=0, b=0, c=0;
这将声明所有三个变量,无需写入:

var a=0;
var b=0;
var c=0;
希望有帮助。

看一看-逗号代表多个表达式/语句。例如,在您的代码中,可以使用如下行:

var a=0, b=0, c=0;
这将声明所有三个变量,无需写入:

var a=0;
var b=0;
var c=0;
希望能有所帮助。

还有一些需要考虑的问题:

console.log((0,9));
console.log((9,0));
console.log((“foo”,“bar”))还有一些需要考虑的问题:

console.log((0,9));
console.log((9,0));
console.log((“foo”,“bar”))
逗号运算符计算这两个值
它的操作数(从左到右)和
返回
秒的值
操作数。

应该是这样的


逗号运算符计算每个操作数(从左到右)并返回
最后一个操作数的值

逗号运算符计算这两个值 它的操作数(从左到右)和 返回
秒的值
操作数。

应该是这样的


逗号运算符计算每个操作数(从左到右)并返回
最后一个操作数的值


向对象添加/修改属性并在同一行中返回它是一种可能的用例:

console.log(
((x)=>(o={biggerCond:r=>r>=x},
o、 r5=数组.from(window.crypto.getRandomValues(新的Uint16Array(5)),
o、 Isanybiger=o.r5.some(o.biggerCond),
o、 更大=o.IsAnyBiger?o.r5.过滤器(o.biggerCond):[x],o)
)(5e4)
);
//范例
// {
//更大:[584145650063397],
//伊桑比格:没错,
//isBiggerCond:r=>r>=x,
//r5:[58414141411201565006339743861]

//}
向对象添加/修改属性并在同一行中返回它是一种可能的用例:

console.log(
((x)=>(o={biggerCond:r=>r>=x},
o、 r5=数组.from(window.crypto.getRandomValues(新的Uint16Array(5)),
o、 Isanybiger=o.r5.some(o.biggerCond),
o、 更大=o.IsAnyBiger?o.r5.过滤器(o.biggerCond):[x],o)
)(5e4)
);
//范例
// {
//更大:[584145650063397],
//伊桑比格:没错,
//isBiggerCond:r=>r>=x,
//r5:[58414141411201565006339743861]

//}
特定语法允许您在功能上烘焙面包并将其交给客户食用,而无需
返回
s.

(新数组(3)).fill()
.map(()=>({state:“面团”,bake(){this.state=“bake”},consume(){this.state=“consumered”}}))
.map(bread=>(console.log(`Adding${bread.state}到烤箱.`),bread.bake(),bread))
.map(bread=>(console.log(`Consuming${bread.state}bread.`),bread.consume(),bread))
.map(bread=>console.log(`bread现在是${bread.state}.`))

特定语法允许您功能性地烘焙面包,并将其交给客户食用,而无需
返回
s.

(新数组(3)).fill()
.map(()=>({state:“面团”,bake(){this.state=“bake”},consume(){this.state=“consumered”}}))
.map(bread=>(console.log(`Adding${bread.state}到烤箱.`),bread.bake(),bread))
.map(bread=>(console.log(`Consuming${bread.state}bread.`),bread.consume(),bread))
.map(bread=>console.log(`bread现在是${bread.state}.`))

他们从C中获得了它。我认为它只对有副作用的表达式有用。我想不出有多少情况下,除了保存字符(缩小)或混淆代码之外,逗号运算符还能起到任何作用。@user17753它可以合法地用在
for
循环中以分号分隔的部分。@Cyoce:,一般来说,这种逻辑在循环体中执行得更清楚。有些人会声称他们的方式允许多个
continue
点而不重复,但是你不应该有多个
continue
点。@user17753你有钱了;试图理解一小段缩略的代码是我来这里的原因。他们从C中获取了它。我认为它只对有副作用的表达式有用。我想不出有多少情况下,逗号运算符除了保存字符(缩略)外,还能起到任何作用或者混淆代码。@user17753它可以合法地用在
for
循环中以分号分隔的部分。@Cyoce:虽然这是事实,但一般来说,这种逻辑在循环体中执行得更清楚。有些人会声称他们的方式允许多个
continue
点而不重复,但是你不应该有多个
continue
点。@user17753你有钱了;试图理解一小段缩略代码是我来这里的原因我很惊讶09在八进制文字中的非法“9”没有失败。@递归-任何八进制表示中的9都会导致回退到十进制。不要混淆命令
var a=0;
var b=0;
var c=0;
Adding dough to oven.
Adding dough to oven.
Adding dough to oven.
Consuming baked bread.
Consuming baked bread.
Consuming baked bread.
Bread is now consumed.
Bread is now consumed.
Bread is now consumed.