Javascript i++在三元语句中不起作用

Javascript i++在三元语句中不起作用,javascript,ternary,Javascript,Ternary,有人能给我解释一下为什么这句话行不通吗 i=i>=8?1:i++ 但这一个呢 i=i>=8?1:i+1 正如Raymond提到的,您使用的是postincrement,在此上下文中应该使用preincrement: i = (i >= 8 ? 1 : ++i); 因为一个人从不做i=i++i++递增i并返回上一个值,而不是递增的值。还有,Bergi所说的。阅读增量后与增量前的内容,了解i++的确切含义。它正在工作。非常感谢各位。简化为i=i>=8?0:i+1;或i%=8;i+=1;

有人能给我解释一下为什么这句话行不通吗

i=i>=8?1:i++

但这一个呢


i=i>=8?1:i+1

正如Raymond提到的,您使用的是postincrement,在此上下文中应该使用preincrement:

i = (i >= 8 ? 1 : ++i);

因为一个人从不做i=i++i++递增i并返回上一个值,而不是递增的值。还有,Bergi所说的。阅读增量后与增量前的内容,了解i++的确切含义。它正在工作。非常感谢各位。简化为i=i>=8?0:i+1;或i%=8;i+=1;