所以这是我的示例代码 - http://jsfiddle.net/JRqq3/。
它输出真/假而不是 0/1 为什么会这样?
代码 -
x = 1;
for(i = 0; i < 20; i++) {
x = !x;
$("body").append(x+"<br />");
}
所以这是我的示例代码 - http://jsfiddle.net/JRqq3/。
它输出真/假而不是 0/1 为什么会这样?
代码 -
x = 1;
for(i = 0; i < 20; i++) {
x = !x;
$("body").append(x+"<br />");
}
因为!运算符在完成其工作时将值强制为布尔值。
因为“!” 运算符将变量的类型转换为 bool。你可能想做:
for (let i = 1; i <= 20; ++i) {
$("body").append( String(i % 2) + '<br />');
}
这里发生了什么事?%
是模除法运算符。i % 2
意思是“除以i
2 并返回余数”。
i % 2
始终为 1 或 0(除以 2 的余数始终为 0 或 1)。
因为通过评估x = !x;
,您将类型更改为布尔值而不是整数。
因为否定运算符!.
如果参数为真,它将返回假,反之亦然。
在这种情况下,首先将 0 转换为 false,然后将 1 转换为 true。然后这些值将被否定。