var i = 1; console.log(i++);/* 1 */ console.log(i);/* 2 */ console.log(i++);/* 2 */ console.log(i);/* 3 */ var i = 1; console.log(++i);/* 2 */ console.log(i);/* 2 */ console.log(++i);/* 3 */ console.log(i);/* 3 */
var i = 1; i++; /* i++ = i(2) - 1 = 1 */ i++; /* i++ = i(3) - 1 = 2 */ console.log(i++); /* i++ = i(4) - 1 = 3 */ var i = 1; ++i; /* i++ = i(2) = 2 */ ++i; /* i++ = i(3) = 3 */ console.log(++i); /* i++ = i(4) = 4 */
总结:i++的值永远都是自增之前的值(i++ = 自增后的 i - 自增前的 i (1) ),而++i的值是自增后的值(++i = 自增后的 i)。
i-- 和 --i 也一样。
原文:https://www.cnblogs.com/a-coder-L/p/14635020.html