++a和a++ 有什么区别?

来源:2-13 编程练习

little_star

2016-04-12 10:23

++a和a++ 有什么区别?

写回答 关注

11回答

  • 鬼擎火
    2016-04-13 10:04:16

    可以换个思路,不考虑两个变量,但看值。

    var a  = 5;
    alert(a++);//5
    alert(a);//6
    /*
        a 值自增1;
        (a++) 值与自增 1 前的 a 值 5 相等;
    */
    var  a  = 5;
    alert(++a);//6;
    alert(a) ;//6;
    /*
        a 值自增1;
        (++a)值与自增 1 后的 a 值 6 相等;
    */



  • 鬼擎火
    2016-04-13 09:55:23

    可以换个思路,不考虑两个变量,但看值。

    var a  = 5;

    那么,alert(a++);弹出框内值为 5;也就是说 (a++ )的值为5 ,和此前的 a 值相等。

    但是,alert(a); 弹出框内值为6;a 值在原始 a 值的基础上自增 1;

    var  a  = 5;

    alert(++a);弹出 6;

    alert(a) ;弹出值也为6;

    相应的 (++a)的值为6,和自增 1 后的 a 值相等。

    卡兰尼克

    好认真,,,被感动了一下

    2016-10-25 21:24:40

    共 1 条回复 >

  • 鬼擎火
    2016-04-12 10:59:00

    var a1,a2,b,c;

    a1 = 5;

    a2 = 5;

    b = a1++;

    c = ++a2;

    则:a1 = 6 ;a2 = 6;

    但:b = 5 ; c = 6;

    -------------------------

    var  x = 5;

    var  y = 5;

    x = x++;

    y = ++y ;

    则: x = 5 ; y = 6 ;

    阿皎就是茕兔... 回复秋山君

    那如果是b=(a++)*a是不是就是b=5*6了

    2016-07-01 20:45:48

    共 9 条回复 >

  • 慕桂英9545975
    2016-04-12 10:53:04
    for(var i=0;i<5;){
        document.write(++i)
    }

    这里输出的是1,2,3,4,5,因为++i是先加1再赋值

    for(var i=0;i<5;){
        document.write(i++)
    }

    这里输出的是0,1,2,3,4,因为i++是先赋值再加1

    慕田峪927... 回复温水里的小白

    你这是个死循环,document.write(i)会一直执行,当然会卡死

    2016-05-26 19:53:58

    共 3 条回复 >

  • 森帅博伊
    2016-04-12 10:52:58

    运算时,++a先完成赋值并立即参与到运算,而如果是a++,就以a的初始值为准参加运算,然后a在进行赋值,a=a++;

  • 火火慕
    2016-04-12 10:46:17

    ++a先自增后取值,a++先取值后自增;前提是在分号之前

  • 慕标5409616
    2016-04-12 10:43:46

    a++是先处理a,之后a自增,++a是,a先自增,然后处理a

  • muke361321
    2016-04-12 10:42:28

    a++ 和 ++a的相同点都是给a+1,不同点是a++是先参加程序的运行再+1,而++a则是先+1再参加程序的运行

  • qq_21_2
    2016-04-12 10:40:23

    ++a 先加1在运算, a++ 运算后再自加1

  • qq_慕田峪2194623
    2016-04-12 10:39:58


    一般是相等的  当赋值时有所不同  ++a 先运算后赋值    a++先赋值后运算

  • 浮夸莫亚
    2016-04-12 10:36:35

    ++a是先处理自加1,再用自加1后的值处理其他运算;a++是先用a这个值处理其他表达运算,再自加1

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468061 学习 · 21891 问题

查看课程

相似问题