鍍金池/ 問答/HTML/ i++和++i的問題?

i++和++i的問題?

var a = [1,2,3,4];
var i = 1;
console.log(a[i++]);//2
console.log(a[i++]);//3

為什么第一個輸出是2,而不是3呢?

回答
編輯回答
枕邊人

i++是先i后i+1,而++i就是i+1

2017年5月23日 05:41
編輯回答
安淺陌

i++是后加 先返回i值,再給i+1,意思是console.log(a[i++]);//2
這句先執(zhí)行console.log(a[i]);然后再i = i+1;
搜一下前加 后加

2017年10月17日 17:28
編輯回答
我不懂

算法優(yōu)先級問題。
i++是先把i用了、再+1
而++i是先+1以后,再用這個i

2018年7月17日 11:21
編輯回答
離殤

這是執(zhí)行順序的問題,
i++在后為 先賦值,后運算
++i在前為 先運算,后賦值

所以看起來像這樣

var i = 1
console.log(i) // i=1
i = i + 1 // = 2
console.log(i) // i=2
i = i + 1 // = 3
2018年5月24日 11:19
編輯回答
薄荷糖
var a = [1,2,3,4];
var i = 1;
//console.log(a[i++]);//2
console.log(a[i]);
i = i + 1;


console.log(a[i++]);//3
console.log(a[i]);
i = i + 1;



//console.log(a[++i]);
i = i + 1;
console.log(a[i]);
2017年3月21日 09:58