let i = 1; i = i++ - --i + ++i - i--; console.log(i);
结果显示 0 i++ 为 1、--i 为 1、++i 为 2、i-- 为 2 时如何工作。
据我了解,i++ 应该是 1,--i 应该是 0,++i 应该是 1,i-- 应该是 1。
由于后递增或递减应该稍后改变,所以预递增或递减立即生效。
请澄清我做错了什么。
后缀运算符在表达式求值后执行:
let i = 1;
i = i++ /* 1, ++ postponed */ - --i /* - 0, the same 1 */ + ++i /* 2 */ - i-- /* 2-2=0, -- postponed */;
// postponed: ++ -- = 0
console.log(i);