o-o*_*o-o 10 javascript operators
b=10;
while(a=b) {
b--;
if(b==-10)break;
}
Run Code Online (Sandbox Code Playgroud)
B从10变为-10.在我的世界中,while语句a = b应该始终为真(因为分配总是"顺利").事实并非如此.循环停止时,b的值为0.
在我的世界中,当if语句开始时,它应该传递0并一直到-10.
我误解了一些重大的东西吗?(在IE8和Adobe Acrobat中测试的代码)
Bri*_*ung 21
赋值的值是赋值的值,因此您可以链接赋值a = b = 2,例如,当b=0值为a=b0时.
0是一个假值,0 == false是真的,所以只要b命中0,那么a = b的计算结果为假,循环就会中断.
一个简单的解决方案就是
while ((a=b) > -10) {
Run Code Online (Sandbox Code Playgroud)
或者在这种情况下,由于break;你可以使用的声明
while (true) {
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2228 次 |
| 最近记录: |