gpt4 book ai didi

javascript - while循环一元递增和递减不起作用

转载 作者:行者123 更新时间:2023-11-30 07:33:49 26 4
gpt4 key购买 nike

我试图让一个 while 循环在条件语句中评估它之前递减一个计数器。

例如这段代码会导致 6

var counter = 3;
var factorial = 1;

while (counter)
factorial *= counter--;

console.log(factorial);

虽然结果为 0

var counter = 3;
var factorial = 1;

while (counter--)
factorial *= counter;

console.log(factorial);

最佳答案

    var counter = 3;
var factorial = 1;

while (counter--)
factorial *= counter;

console.log(factorial);

while 条件在更改计数器之前被评估。因此,在第一个循环中,您评估 3 并将值 2 传递给乘法。然后计算 2 > 0 并将 1 传递给乘法,因为 counter-- 意味着首先使用当前值,然后立即将值减 1。

因此,在下一步中,您评估 if(1) 为真,但您传递了 0,因此乘法的结果为 0。然后 while 循环将无法评估,因为计数器将是一个虚假值,例如 0

关于javascript - while循环一元递增和递减不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41047607/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com