a++和++a的区别

来源:2-7 自加一,自减一 ( ++和- -)

明秀潜心

2014-12-09 15:27

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>++/--</title>
<script type="text/javascript">
var numa=1;
var numb=7;
numa++;
numb--;
document.write("numa的值:"+numa);
document.write("numb的值:"+numb);
</script>
</head>
<body>
</body>
</html>

以上为课程中的代码,输出结果为:numa的值:2numb的值:6

还是想问一下,++或--在后不是先输出后运算吗?课程中的输出结果对吗?求解答一下

写回答 关注

2回答

  • Tracy_
    2014-12-09 23:04:33
    已采纳

    我们来分析一下代码吧。

    var numa=1;

    var numb=7;

    numa++;   //这个时候numa=1,然后再执行自加操作,这句话执行完之后numa=2; 

    numb--;   //这个时候numb=7,然后再执行自减操作,这句话执行完之后numb=6;

    document.write("numa的值:"+numa);  //到这里自加操作已经执行完成,故输出2

    document.write("numb的值:"+numb);  //到这里自减操作已经执行完成;故输出6


    来个例子帮你理解一下

    var a = 3; console.log(a++) //3; console.log(a) //4

    var a = 3; console.log(++a) //4; console.log(a) //4


    var a = 3; console.log(a--) //3; console.log(a) //2

    var a = 3; console.log(--a) //2; console.log(a) //2

    明秀潜心

    非常感谢!thank you 的讲解

    2014-12-11 09:30:00

    共 2 条回复 >

  • AKii
    2015-07-10 10:11:12

    感觉跟C中的用法是一样的,顺序问题。

    b = a++; 会先把a初始的值赋值给b,然后a自增1。

    c = ++a; 先把a自增1,再把增1以后的结果赋值给c。

    在循环中会比较容易看出来。

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题