我读了一本电子书并找到了此命令,但我不知道它的目的以及何时使用它。例:

var x = (12, 34, 56)


x在这种情况下是一个数字,其值为56。谢谢。

这是我从电子书“绝对入门的Javascript”中读取的完整脚本:

var fridge = {
buttermilk: [1/3, "cup"],
kefir: [1 + 1/2, "cup"],
yogurt: [4, "cup"],
};
var dough = {
hardWhiteWholeWheatFlour: [2, "cup"],
sugar: [1/3, "cup"],
madagascarVanilla: [1, "tsp"],
orangeZest: [1, "tbs"],
soda: [1, "tsp"],
tartar: [1, "tsp"],
orangeJuice: [1/2, "cup"],
culturedMilk: [1/2, "cup"],
egg: [1],
cranberries: [2/3, "cup"]
};
dough.culturedMilk[0] = fridge.buttermilk[0] >= 1/2 ? (fridge.buttermilk[0] -= 1/2, 1/2) :
fridge.kefir[0] >= 9/16 ? (fridge.kefir[0] -= 9/16, 9/16) :
fridge.yogurt[0] >= 10/16 ? (fridge.yogurt[0] -= 10/16, 10/16) :
alert("No cranberry bread for you!");
dough.culturedMilk;
// [0.5625, "cup"]
fridge.kefir;
// [0.9375, "cup"]

最佳答案

似乎您已经知道它的含义了……对每个操作数求值并返回最后一个的结果。

对于(fridge.buttermilk[0] -= 1/2, 1/2),表达式本身是条件运算符的一部分:

fridge.buttermilk[0] >= 1/2 ? (fridge.buttermilk[0] -= 1/2, 1/2) : ...


在这种情况下,逗号运算符用于引入副作用。如果fridge.buttermilk[0] >= 1/2为true,则应将1/2分配给dough.culturedMilk[0]。但同时,fridge.buttermilk[0]也应更新。

通常,您将使用两个表达式语句,例如

if(fridge.buttermilk[0] >= 1/2) {
    fridge.buttermilk[0] -= 1/2;
    dough.culturedMilk[0] = 1/2;
}


但是由于作者想使用条件运算符,因此可以使用逗号运算符在一个表达式中执行两个表达式。它更新fridge.buttermilk[0]的值并返回1/2

但是,我不建议这样做,尤其是在这种情况下,使用嵌套条件运算符时,传统的if-else语句将更易于阅读。

关于javascript - 调用命令的含义是什么(param1,param2等),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10911836/

10-12 06:56