++a和a++的区别。
先来看2段js代码
var a=0; var b=0; while(a<10) { document.write(a++); } document .write("<br>"); while(b<10) { document.write(++b); }
结果是0~9和~1~10
这证明了2个问题:
第一:循环的次数是相等的
第二:如果是a++的话,每一次进行一个自加的话,都是不会返回当次自加的结果,而是上次循环得到的结果(老的)
如果是++a的话,每次循环,返回最新的结果,也就是+1以后的结果。
我们再来看看下面的代码:
for(var i=0;i<10;i++){document.write(i)} document.write("<br>"); for(var i=0;i<10;++i){document.write(i)}
里面的2段代码的结果都是一样的都是0~9
为什么这里一样了呢?因为刚才说过,i++或者++i是作为返回值然后显示出来,
而这里的i++和++i是作为执行次数来操作的,并没有返回值,而他们的执行次数是一样的
再来做一个变体
for(var i=0;i<10;i++){document.write(++i)} //1,3,5,7,9
for(var i=0;i<10;i++){document.write(i++)} //0,2,4,6,8
显示结果分别又是是什么呢?
首先我们可以确定的是:for循环里面的i++是不会有返回值的,但是会+1,
而后面的++i是会有返回值的,所以结果就是上面注释的结果了。
作者:
KMSFan
出处:http://www.cnblogs.com/kmsfan
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
欢迎大家加入KMSFan之家,以及访问我的优酷空间!
出处:http://www.cnblogs.com/kmsfan
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
欢迎大家加入KMSFan之家,以及访问我的优酷空间!