我很好奇为什么这个while循环没有按预期打破。我的理解是,当使用OR运算符(||)时,如果发现任何条件为假,则循环会中断。JavaScript While循环条件Abbration
但是,我注意到在一个测试文档中(我第一次学习JS),我的while循环要求所有条件在破坏之前都被发现为假。
这是一个存根例如:
var stringName="", numhours=0, numRate=0;
document.write("Exit at any time by entering -1");
while (stringName != "-1" || numHours != -1 || numRate != -1){
stringName = prompt("Enter name","");
numHours = prompt("Enter num hours","");
numHours = parseFloat(numHours);
numRate = prompt("Enter rate per hour","");
numRate = parseFloat(numRate);
}
我想它使用户可以输入-1在任何阶段,而一旦循环完成,它会再次重新检查的条件,并经过发现名称不等于“-1”是错误的,或者假设小时不等于-1,或者错误地认为工资不等于-1,它会打破循环。
相反,它似乎循环要求所有这些条件都满足退出,其中名称==“-1”AND小时== -1 AND工资== -1,只有那么它会打破。
任何有识之士将不胜感激。你们好棒!
[|| Java脚本的可能的复制运算符](http://stackoverflow.com/questions/1378619/javascript-operator) –