gpt4 book ai didi

javascript - while 条件检查中的赋值是什么?

转载 作者:行者123 更新时间:2023-11-29 10:27:54 26 4
gpt4 key购买 nike

while(a = foo())
{
bar();
}

这是检查:

  • 如果赋值成功,运行bar,或者
  • 如果 a 已定义且非空,则运行 bar 或
  • 还有别的吗?

最佳答案

在每次迭代中,它将 foo() 调用的结果分配给 a,如果结果为真,它会运行循环并再次尝试,直到调用的结果是错误的。

例如,虽然在条件内赋值通常是一种代码味道,但在尝试遍历全局正则表达式中的捕获组时,这种情况经常出现:

const str = 'abcdefg';
const pattern = /(.)./g;
let match;
while (match = pattern.exec(str)) {
console.log('first captured group was ' + match[1]);
}
// after the last iteration, `match` is null, so the loop stops

如果赋值成功,并且不成功的原因会抛出一个错误,那么整个脚本就会因为这个错误而停止。 (除非周围有 try/catch block )

关于javascript - while 条件检查中的赋值是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54015406/

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