++ i 和 i++区别
++n先自增再运算n++先运算再自增var a, i = 10;a = i ++; //这里i要先赋值,再自加。语句执行后a=10, i = 11;a = ++i; //这里i要先自加,再赋值。语句执行后a=11, i = 11;let i = 9;while( i ++ < 10){console.log(i)};// 9 ;先执行逻辑逻辑运算,再自增 i = 9 》 i< 10 》
·
++i 先自增再运算
i++ 先运算再自增
var a, i = 10;
a = i ++; // a = 10 i = 11 先执行赋值,再自增。语句执行后a=i, i = i + 1;
a = ++i; //a = 11, i = 11 i先自增,再执行赋值。语句执行后i = i + 1 a = i;
打印中 ++ i 和 i++
var i = 10;
console.log(i++); //10 ,先引用原值,然后加1
等价于:
var i= 10;
console.log(i); //先输出i
i++; //然后加1
while循环中的 ++ i 和 i++
let i = 9;
while( i ++ < 10){console.log(i)};
// 9 ;先执行逻辑逻辑运算,再自增 i = 9 》 i< 10 》i++ 》i =10
while(++ i < 10){console.log(i)};
// 先自增,再执行逻辑逻辑运算 i = 10 退出
运算中的 ++ i 和 i++
let n = 1
let f = 5
let d = f + n++ // d = 5 + 1 = 6 》 n++
// d = 6 , n = 2
for循环中 ++n 和 n ++ 执行结果是一样的
for(let i=0;i<10;i++){
//循环体
}
for(初始化①;条件②;自增③){
循环体④
}
执行数序是:
- 初始化
- 条件(为真继续执行)
- 执行循环体代码
- i自增
- 回到第2步,一直循环下去,直到第2步为假, 退出循环.
执行顺序如下:
①②④③ ②④③ ②④③… …直到②为假结束
因为都要等代码块执行完毕才能执行自增,所以结果一样,但性能是不一样,在大量数据的时候++i的性能要比i++的性能好,原因:
i++由于是在使用当前值之后再+1,所以需要一个临时的变量来转存。
而++i则是在直接+1,省去了对内存的操作的环节,相对而言能够提高性能
更多推荐
已为社区贡献1条内容
所有评论(0)