javascript - 關於i++的問題
我想大声告诉你
我想大声告诉你 2017-05-19 10:43:31
0
3
632
var i = 1;
var a = i++;
console.log(a); //1

這個可以理解。

但是這個:

var i = 1;
i = i++;
console.log(i); //1

為什麼這裡還是輸出1,就算是先賦值了i = 1,但是i 的操作還是應該執行的吧,列印 i卻還是1

我想大声告诉你
我想大声告诉你

全部回覆(3)
滿天的星座

i = i++原理:

  • 把變數i的值取出來,放在一個臨時變數裡.

  • 把變數i的值進行自加操作.

  • 把臨時變數的值當作自增運算前i的值使用.

經過以上三步操作以後,雖然變量i在第二步操作中進行了自增運算,但第三步操作以後又把原來的值賦給了它,所以最後輸出結果為1.

伊谢尔伦

http://stackoverflow.com/ques... 參考這個,雖然是java的

i++虽然i加1了,但因为后置++,所以执行i=i(此时i指原来的值1),所以就等于是i=1了。相当于i++廢了

伊谢尔伦

i++ 回傳值是 1

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板