关于javascript里i++和++i的问题
vari=1;varvalue=0;while(i<=100){value+=i;i++;}document.write(value);这是1到100的累加这里的i++能...
var i = 1;
var value = 0;
while(i <= 100){
value += i;
i++;
}
document.write(value);
这是1到100的累加
这里的i++能换成++i吗?结果好像一样呢 展开
var value = 0;
while(i <= 100){
value += i;
i++;
}
document.write(value);
这是1到100的累加
这里的i++能换成++i吗?结果好像一样呢 展开
5个回答
2016-10-24 · 百度知道合伙人官方认证企业
兄弟连教育
兄弟连教育成立于2006年,11年来专注IT职业教育,是国内专业的IT技术培训学校。2016年成功挂牌新三板(股票代码:839467)市值过亿。开设专注程序员培训专注php、Java、UI、云计算、Python、HTML5、
向TA提问
关注
展开全部
++i和i++区别在于运算顺序和结合方向。
js中有两种自加运算,其运算符均为++,功能为将运算符自加1.
其中:
++VAR被称为前自加,其后面的变量执行自加操作,其运算为,先执行自加操作,再引用VAR值。
VAR++被称为后自加,其前面的变量执行自加操作,其运算为,先引用VAR值,再进行自加操作。
如果自加语句独立成为一个单独的语句,那么前后自加是完全相同的。
比如单独的一行
a++;和++a;是一样的。
再比如,常见的for循环:
for(i = 0; i < 100; i ++)
for(i = 0; i < 100; ++i)
这里用到的++i和i++是完全相同的,没有区别。
当运算变量本身值会在自加语句中,同时执行其它操作,二者就有区别了。
比如
var i =0;
while(i++<10);
i会先和10比较大小,然后执行自加。这样当i=10时,退出循环,再执行一次自加,退出后i值为11。
而如果写成
while(++i<10);
是先执行自加,然后再与10比较。这样在i=9时,先自加,得到i=10,然后比较就会退出循环了。这种情况下,退出后i值为10。
再举一个例子。
var a, i = 10;
a = i ++; //这里i要先赋值,再自加。语句执行后a=10, i = 11;
而如果写成:
var a, i = 10;
a = ++i; //这里i要先自加,再赋值。语句执行后a=11, i = 11;
js中有两种自加运算,其运算符均为++,功能为将运算符自加1.
其中:
++VAR被称为前自加,其后面的变量执行自加操作,其运算为,先执行自加操作,再引用VAR值。
VAR++被称为后自加,其前面的变量执行自加操作,其运算为,先引用VAR值,再进行自加操作。
如果自加语句独立成为一个单独的语句,那么前后自加是完全相同的。
比如单独的一行
a++;和++a;是一样的。
再比如,常见的for循环:
for(i = 0; i < 100; i ++)
for(i = 0; i < 100; ++i)
这里用到的++i和i++是完全相同的,没有区别。
当运算变量本身值会在自加语句中,同时执行其它操作,二者就有区别了。
比如
var i =0;
while(i++<10);
i会先和10比较大小,然后执行自加。这样当i=10时,退出循环,再执行一次自加,退出后i值为11。
而如果写成
while(++i<10);
是先执行自加,然后再与10比较。这样在i=9时,先自加,得到i=10,然后比较就会退出循环了。这种情况下,退出后i值为10。
再举一个例子。
var a, i = 10;
a = i ++; //这里i要先赋值,再自加。语句执行后a=10, i = 11;
而如果写成:
var a, i = 10;
a = ++i; //这里i要先自加,再赋值。语句执行后a=11, i = 11;
追问
那我那个例子算是单独的语句吗?
展开全部
可以,因为你这里并没有什么区别,
++i 是先加加再返回值
i++是先返回值後加
改一下就有区别了
var i = 1;
var value = 0;
while(i <= 100){
value += ++i;
//value += i++;//这句的话结果会比++i多
}
document.write(value);
var i=1,v=0;while(i<=100)v+=++i;
//5150
var i=1,v=0;while(i<=100)v+=i++;
//5050
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先看个例子:
var i=1;
alert(i++); //显示为1
var i=1;
alert(++i); //显示为2
也就是说前一个例子i是显示完后再+1的,而后者则是先+1后再显示的。
如果仅仅是让i累加1,那么两者是没区别的。
var i=1;
alert(i++); //显示为1
var i=1;
alert(++i); //显示为2
也就是说前一个例子i是显示完后再+1的,而后者则是先+1后再显示的。
如果仅仅是让i累加1,那么两者是没区别的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
i++ 和++i 自己单独作为一条语句时,没区别。
下面这种有区别,他们不是独立的语句,而是放在了语句之中。
var i = 1;
var j = 1;
var a = 0;
var b = 0;
a = i++;
b = ++j;
console.log(a);
console.log(b);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-10-24 · 知道合伙人软件行家
关注
展开全部
++i:表示先自身加一,再执行其他操作
i++:表示的是先执行其他操作,再自身加一
i++:表示的是先执行其他操作,再自身加一
追问
那么在这个例子中呢 是不是没区别
追答
是的,在这里面结果是一样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询