javascript中先加加和后加加區(qū)別 ++a和a++區(qū)別解析
javascript中先加加和后加加區(qū)別 ++a,a++
start
請(qǐng)問下列代碼會(huì)輸出什么內(nèi)容?
var a = 1 var b = 1 var c = 1 console.log(a++) console.log(++b) console.log((c += 1))
思考
從學(xué)習(xí) javascript 開始,就對(duì) 先加加 和 后加加 模糊不清,時(shí)至今日,再來學(xué)習(xí)一下。
- 在使用變量時(shí),當(dāng)
++在變量后面的時(shí)候,會(huì)先返回變量再做++處理。 - 先加加,與上一條邏輯相反(先計(jì)算,再返回)。
c += 1可以理解為c = c + 1先減減和后減減,和上述同理
var a = 1 var b = 1 var c = 1 console.log(a++) // 1 console.log(++b) // 2 console.log((c += 1)) // 2
補(bǔ)充:在JavaScript中,++在前和++在后有什么區(qū)別
一、
++可以與輸出語句寫在一起,++寫在變量前和寫在變量后不是一個(gè)意思
++ i 和 i ++ 區(qū)別在于運(yùn)算順序和結(jié)合方向。
在JavaScript中有兩種自加運(yùn)算,其運(yùn)算符均為 ++,功能為將運(yùn)算符自加 1。
其中:
++ VAR 被稱為前自加,其后面的變量執(zhí)行自加操作,其運(yùn)算為,先執(zhí)行自加操作,再引用VAR值。
VAR ++ 被稱為后自加,其前面的變量執(zhí)行自加操作,其運(yùn)算為,先引用VAR值,再進(jìn)行自加操作。
如果自加語句獨(dú)立成為一個(gè)單獨(dú)的語句,那么前后自加是完全相同的。
比如單獨(dú)的一行
a ++; 和 ++ a; 是一樣的。
1
再比如,常見的for循環(huán):
for(i = 0; i < 100; i ++)
for(i = 0; i < 100; ++i)
1
2
這里用到的 ++ i 和 i ++ 是完全相同的,沒有區(qū)別。
二、
當(dāng)運(yùn)算變量本身值會(huì)在自加語句中,同時(shí)執(zhí)行其它操作,二者就有區(qū)別了。
比如
var i = 0;
while( i ++ < 10);
1
2
i會(huì)先和10比較大小,然后執(zhí)行自加。這樣當(dāng)i=10時(shí),退出循環(huán),再執(zhí)行一次自加,退出后i值為11。
而如果寫成
while(++ i < 10);
1
是先執(zhí)行自加,然后再與10比較。這樣在i=9時(shí),先自加,得到i=10,然后比較就會(huì)退出循環(huán)了。這種情況下,退出后i值為10。
再舉一個(gè)例子。
var a, i = 10;
a = i ++; //這里i要先賦值,再自加。語句執(zhí)行后a=10, i = 11;
1
2
而如果寫成:
var a, i = 10;
a = ++i; //這里i要先自加,再賦值。語句執(zhí)行后a=11, i = 11;到此這篇關(guān)于javascript中先加加和后加加區(qū)別 ++a,a++的文章就介紹到這了,更多相關(guān)js ++a和a++區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
javascript通過class來獲取元素實(shí)現(xiàn)代碼
javascript獲取元素有很多的方法,本文簡單的介紹下通過class獲取元素的實(shí)現(xiàn)代碼,感興趣的朋友可以參考下,希望本文知識(shí)點(diǎn)可以幫助到你2013-02-02
JS一維數(shù)組轉(zhuǎn)多維數(shù)組樹的方法
這篇文章主要介紹了JS一維數(shù)組轉(zhuǎn)多維數(shù)組樹的方法,文章通過代碼示例給大家講解的非常詳細(xì),?對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-06-06
JavaScript對(duì)URL進(jìn)行編碼和解碼的三種方式
本文詳細(xì)介紹了為何在URL中需要編碼,列舉了需要編碼的字符,以及JavaScript中的escape,encodeURI,encodeURIComponent三種編碼方式及其用途和注意事項(xiàng),需要的朋友可以參考下2025-04-04
JavaScript 事件流、事件處理程序及事件對(duì)象總結(jié)
JS與HTML之間的交互通過事件實(shí)現(xiàn),事件就是文檔或?yàn)g覽器窗口中發(fā)生的一些特定的交互瞬間,可以使用(或處理程序)來預(yù)定事件,以便事件發(fā)生時(shí)執(zhí)行相應(yīng)的代碼,本文將介紹JS事件相關(guān)的基礎(chǔ)知識(shí),2017-04-04

