课程
/前端开发
/JavaScript
/JavaScript进阶篇
++a和a++ 有什么区别?
2016-04-12
源自:JavaScript进阶篇 2-13
正在回答
可以换个思路,不考虑两个变量,但看值。
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 相等; */
var a = 5;
那么,alert(a++);弹出框内值为 5;也就是说 (a++ )的值为5 ,和此前的 a 值相等。
但是,alert(a); 弹出框内值为6;a 值在原始 a 值的基础上自增 1;
alert(++a);弹出 6;
alert(a) ;弹出值也为6;
相应的 (++a)的值为6,和自增 1 后的 a 值相等。
卡兰尼克
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 ;
little_star 提问者
鬼擎火 回复 little_star 提问者
鬼擎火 回复 鬼擎火
little_star 提问者 回复 鬼擎火
秋山君 回复 鬼擎火
阿皎就是茕兔丶 回复 秋山君
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
温水里的小白 回复 little_star 提问者
慕田峪9273182 回复 温水里的小白
运算时,++a先完成赋值并立即参与到运算,而如果是a++,就以a的初始值为准参加运算,然后a在进行赋值,a=a++;
++a先自增后取值,a++先取值后自增;前提是在分号之前
a++是先处理a,之后a自增,++a是,a先自增,然后处理a
a++ 和 ++a的相同点都是给a+1,不同点是a++是先参加程序的运行再+1,而++a则是先+1再参加程序的运行
++a 先加1在运算, a++ 运算后再自加1
一般是相等的 当赋值时有所不同 ++a 先运算后赋值 a++先赋值后运算
举报
本课程从如何插入JS代码开始,带您进入网页动态交互世界
4 回答var a=function(){}和function a(){}有什么区别
5 回答a++ 和++a的区别是什么
2 回答a++和++a的区别
3 回答a++和++a的区别?
2 回答++a 和 a++de 区别?