Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.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 调用命令(param1,param2,…)是什么意思_Javascript - Fatal编程技术网

Javascript 调用命令(param1,param2,…)是什么意思

Javascript 调用命令(param1,param2,…)是什么意思,javascript,Javascript,我读了一本电子书,发现了这个命令,但我不知道它的用途和使用时间。例如: 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, "cu

我读了一本电子书,发现了这个命令,但我不知道它的用途和使用时间。例如:

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"]
如果条件 冰箱。酪乳[0]>=1/2

如果你感到满意,那么有两件事正在发生。 冰箱。酪乳[0]减少1/2 和面团。培养的牛奶[0]等于1/2

试试这个

     a = 10
     b = a < 20 ? (a -= 3, 2) : (a += 3, 5)
a=10
b=a<20?(a-=3,2):(a+=3,5)

看看a和b的值,你似乎已经知道它的意思了。。。计算每个操作数并返回最后一个操作数的结果

(冰箱.酪乳[0]-=1/2,1/2)
的情况下,表达式本身是条件运算符的一部分:

fridge.buttermilk[0] >= 1/2 ? (fridge.buttermilk[0] -= 1/2, 1/2) : ...
在这种情况下,逗号运算符用于引入副作用。如果
冰箱.酪乳[0]>=1/2
为真,则应将
1/2
分配给
面团.培养乳[0]
。但与此同时,
冰箱。酪乳[0]
也应该更新

通常会使用两个表达式语句,如

if(fridge.buttermilk[0] >= 1/2) {
    fridge.buttermilk[0] -= 1/2;
    dough.culturedMilk[0] = 1/2;
}
但由于作者希望使用条件运算符,因此可以使用逗号运算符在一个表达式中执行这两个表达式。它更新冰箱.酪乳[0]的值并返回
1/2

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

例如,这一行:

(fridge.kefir[0] -= 9/16, 9/16)
正如您在注释中看到的,将使用9/16减小kefir-s值,3/2-9/16=09375,并返回9/16作为culturedMilk的值


(param1,param2…)计算表达式并返回最后一个表达式。(如您的示例中所示)

脚本中的表达式是
(fridge.buttermilk[0]=1/2,1/2)
?我理解这个问题。这对初学者来说太复杂了。