我读了一本电子书并找到了此命令,但我不知道它的目的以及何时使用它。例:
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/