JavaScript中i++与++i的区别

a = i++ 它等价于 a = i ; i = i + 1;(先赋值后自增,返回自增前的值)
a = ++i 它等价于 i = i + 1; a = i;(先自增后赋值,返回自增后的值)

  function kk() {
      var i = 1;
i = i++;
var j = i++;//j=1
var k = i + ++i * i++; //k=11
console.log(j);
console.log(k);
    }
    var b=kk()

i++的通俗的解释即是先赋值再自增,其实这里赋值的值是从操作数栈取的值,也就是说先将i的值压入栈中,

而自增是局部变量表的值自增。

而++i则相反,是先自增后赋值,就是局部变量表的自增,然后把局部变量表的值压入栈中。

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页