關於js中的i 和 i

2022-07-15 17:42:14 字數 2318 閱讀 6975

印象中記得以前學c語言的時候,對於i++和++i,有乙個是先增,有乙個是後增,以至於我老覺得在for迴圈體裡對某個變數進行+1的時候,總是不敢用i++和++i,怕會出現我以為它加了1,但實際上它是在下一次迴圈裡才加了1的這種情況,所以總是用i+=1。今天想起來這個事,所以特地抽時間實踐了一下,才發現自己想錯了,記岔了,哈哈。下面記錄一下i++和++i的區別。

q1:在迴圈體裡對i變數進行++i和i++,有什麼區別?

a1:來實踐一下

1 let a = 1

2for (let i = 0; i < 1; i++)

1 let a = 1

2for (let i = 0; i < 1; i++)

由上面兩個小事例可以發現,i++和++i在迴圈體裡使用的效果是一樣的,都能立即對變數進行+1,而無需到下一次迴圈時才生效,所以我之前擔心的點,完全是瞎擔心~同樣的,因為這樣,所以其實在迴圈條件裡用i++或是++i,都不影響效果,用哪個就看個人喜歡啦。

1

for (let i = 0; i < 3; i++) 4//

05//1

6//2

1

for (let i = 0; i < 3; ++i) 4//

05//1

6//2

q2:i++和++i在什麼情況下會有差別?

a2:在用於運算的時候會有偏差!來看以下例子:

1 let a = 1

2 let b = ++a

3 console.log(a) //

輸出24 console.log(b) //

輸出2

1 let a = 1

2 let b = a++

3 console.log(a) //

輸出24 console.log(b) //

輸出1

由以上例子可以看出,對於進行自增的變數來說,是沒有區別的,但是對於被賦值的變數來說,乙個是成功賦值,另乙個卻貌似只賦值到了自增之前的數值。

出現這種情況,是因為在js中++這個操作符在變數前面時,會先對變數進行自增,然後再將自增後的結果賦值給等號左邊的變數;當++操作符在變數後面時,會先將變數目前的值賦值給等號左邊的變數,然後再進行自增,總而言之一句話:

++在前先自增,++在後先賦值

q3:i和++之間可以有空格嗎?

a3:我們來做三個實驗:① i ++; ② i+ +; ③ i + +

1 let i = 1

2 i ++

3 console.log(i) //

輸出2

1 let i = 12 i+ +3 console.log(i)    

//輸出1,並且輸出了乙個nan

1 let i = 1

2 i + +

3 console.log(i) //

輸出1,並且輸出了乙個nan

由以上實驗可得知,++作為乙個操作符,中間是不能存在空格的,但是與被操作的變數之間是可以存在空格的,這一點和其他運算子沒有區別。

q4:出現三個+號怎麼辦?

a4:來實踐一下

1 let a = 1

2 let b = 0

3 let c = a +++b

4 console.log(c) //

輸出15 console.log(a) //

輸出26 console.log(b) //

輸出0

由以上**可得知,a是進行了自增的,b沒有變,所以當三個+連線出現時,其實是會被解析成 let c = a++  +b,若想得到不一樣的結果,需要我們給+之間增加空格,來表達不一樣的意思,如下:

1 let a = 1

2 let b = 0

3 let c = a + ++b

4 console.log(c) //

輸出25 console.log(a) //

輸出16 console.log(b) //

輸出1

結束:

以上就是關於i++和++i的個人總結,雖然可以區分出他們之間的區別了,不過在運算時最好還是少用,因為對於**理解不是特別友好,盡量還是用簡明一點的表示式。

關於 i 和 i 的區別

i 和 i 的使用分為兩種情況 1 單獨使用 2 放入表示式中使用。1 第一種情況,單獨使用時從實現的效果 即程式的執行結果 上看是等價的。2 當放入表示式中使用,則有本質區別 b i 字首形式,等價於 i i 1 b i b i 字尾形式,等價於 b i i i 1 i 是先使用後自加,在結束標誌...

關於 i 快於 i

當然,很多時候我們有的 用c 提交通過了,但是g 卻失敗了呢?眾所周知,不同的編譯器,會對 做出一些不同的優化。舉乙個最簡單的例子。針對單個語句 注意,是單個語句,不是包含在語句中的那種前 和後 a a b a 一般的講,我們都知道,這兩條語句的最終結果是一樣的,就是a自己增加了1。但是,兩者的差距...

關於i 與 i 的問題

不要再問 i i啦!好多人面試的喜歡問 i 和 i的區別。尤其是對應屆畢業生面試中尤為常見。更有主考官原意出 x 4 x 4 x x 這種難題,覺得這種題可以綜合考察被面試者的綜合能力。不排除有人,能把這種題答的很完美,但也不排除有的主考官連自己都搞不明白。先不說這題出的對錯,這種問題,在大部分 覺...