为什么!x将1和0更改为true/false

y2o*_*2ok 2 javascript jquery

所以这是我的示例代码 - http://jsfiddle.net/JRqq3/.

它输出真/假而不是0/1为什么呢?

代码 -

x = 1;
for(i = 0; i < 20; i++) {
    x = !x;    
    $("body").append(x+"<br />");
}?
Run Code Online (Sandbox Code Playgroud)

Alm*_*lmo 21

因为!操作员在执行其工作时强制将值赋予bool.


Mic*_*zyn 12

因为"!" operator将变量的类型转换为bool.你可能想做:

for (let i = 1; i <= 20; ++i) {
    $("body").append( String(i % 2) + '<br />');
}?
Run Code Online (Sandbox Code Playgroud)

这里发生了什么事?%是模除法运算符.i % 2表示"除以i2并返回余数 ".

i % 2 始终为1或0(除以2的余数始终为0或1).