i++ 和 ++i 的区别

时间:2023-02-04 15:38:10
i++ 与 ++i 的主要区别有两个:
1、 i++ 返回原来的值,++i 返回加1后的值。

2、 i++ 不能作为左值,而++i 可以。

i++ 和 ++i 的区别


再来看下面这个函数,看下打印的分别是几

    function a() {
        var i = 1;
        return function () {
            console.log(i++);
            console.log(i);
        }
    }
    
    var b = a();
    b();
结果是 1 和 2


我们再改造一下,看看打印的是几

    function a() {
        var i = 1;
        return function () {
            console.log(i++);
        }
    }

    var b = a();
    var c = a();
    b();
    b();
    c();
打印的分别是 1 2 1