编程语言
首页 > 编程语言> > javascript-条件检查中的分配是什么?

javascript-条件检查中的分配是什么?

作者:互联网

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

这是检查:

>如果分配成功,请运行栏,或
>如果定义了a,但不为null,则运行栏或
>还有什么?

解决方法:

在每次迭代中,它将foo()调用的结果分配给a,如果结果为true,则运行循环并再次尝试,直到调用的结果为false.

例如,虽然在一个条件内分配通常是一种代码味道,但在遍历全局正则表达式中的捕获组时经常会看到它:

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块)

标签:while-loop,javascript
来源: https://codeday.me/bug/20191108/2007199.html