Javascript"|0“;

Javascript"|0“;,javascript,Javascript,“0”是什么意思 var累计=0; accum=((accum+(3*(引脚%10)))| 0+((引脚/10)| 0)%10))| 0,引脚=((引脚/100)| 0); }JavaScript有“truthy”和“falsy”值的概念,即不是布尔值的值,但在需要时可以归结为布尔值。在你的例子中, PIN 是一个在内部被转换为布尔值的数字,只有当它等于 0 < /代码>时,才会被评估为 false >代码> .< /p> 你必须考虑以下事项。 而循环是这样工作的 while(表达式) { /

“0”是什么意思

var累计=0;
accum=((accum+(3*(引脚%10)))| 0+((引脚/10)| 0)%10))| 0,引脚=((引脚/100)| 0);

}
JavaScript有“truthy”和“falsy”值的概念,即不是布尔值的值,但在需要时可以归结为布尔值。在你的例子中,<代码> PIN <代码>是一个在内部被转换为布尔值的数字,只有当它等于<代码> 0 < /代码>时,才会被评估为<代码> false >代码> .< /p> 你必须考虑以下事项。

  • 而循环是这样工作的
  • while(表达式) { //其他代码。 }

    直到执行循环内计算为true的表达式

  • 现在使用Javascript(许多其他语言)

    • 0的计算结果为false(布尔值)

  • 在您的情况下,直到pin值变为0,它将执行。

    考虑一下
    !!x
    给出了不同的数字s
    x
    ,请注意,在第5行中有一组数字接近
    0
    。单管
    |
    是位OR(强制转换为32位int)。还要注意paren的数量,这意味着您可以将第5行扩展为更可读的内容while循环只需要一个表达式,通常是布尔表达式,但任何计算结果为truthy的都可以。对于整数,“未定义”或“0”将为false,其他任何内容都将为true