javascript - 一個(gè)賦值運(yùn)算的問題
問題描述
var a=0;b=(a=3)+(a=4);alert(a);alert(b);結(jié)果a=4,b=7
想問一下,a為什么是4?賦值運(yùn)算是從右向左的嗎?
問題解答
回答1:運(yùn)算順序:
var a = 0; // a 0b = (a = 3) + (a = 4);// a = 3 ----> a為3,整個(gè)賦值語(yǔ)句返回3// a = 4 ----> a為4,整個(gè)賦值語(yǔ)句返回4// 由于返回值的內(nèi)存和賦值操作用到的a的內(nèi)存不同,所以b的運(yùn)算所用的值,只和返回值有關(guān),不受a的值變化的影響,因此,b = 3 + 4 = 7// 所以,最終a為4,b為7回答2:
賦值運(yùn)算是自右向左結(jié)合的。所以首先是將(a=3)+(a=4)賦值給b。然而(a=3)+(a=4)是從左到右的順序執(zhí)行的。所以顯示3賦值給a,然后4賦值給a。所以a最終為4,b最終為7。
回答3:先執(zhí)行a=3,接著執(zhí)行a=4, 所以最后a是4
回答4:a被4賦值了
回答5:b=(a=3)+(a=4)這行代碼時(shí)從左向右執(zhí)行的執(zhí)行a=3時(shí),此時(shí)將3賦值給a 當(dāng)a=4時(shí),將4賦值給a,最后a的值就是4了.
相關(guān)文章:
1. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語(yǔ)法實(shí)現(xiàn)存在即更新應(yīng)該使用哪個(gè)標(biāo)簽?2. 哭遼 求大佬解答 控制器的join方法怎么轉(zhuǎn)模型方法3. mysql儲(chǔ)存json錯(cuò)誤4. mysql - 怎么生成這個(gè)sql表?5. mysql - 數(shù)據(jù)庫(kù)表中,兩個(gè)表互為外鍵參考如何解決6. Navicat for mysql 中以json格式儲(chǔ)存的數(shù)據(jù)存在大量反斜杠,如何去除?7. sql語(yǔ)句 - 如何在mysql中批量添加用戶?8. mysql - 表名稱前綴到底有啥用?9. 編輯成功不顯示彈窗10. 怎么php怎么通過數(shù)組顯示sql查詢結(jié)果呢,查詢結(jié)果有多條,如圖。
