文章詳情頁
javascript - 一個賦值運算的問題
瀏覽:101日期:2023-05-27 14:06:34
問題描述
var a=0;b=(a=3)+(a=4);alert(a);alert(b);結果a=4,b=7
想問一下,a為什么是4?賦值運算是從右向左的嗎?
問題解答
回答1:運算順序:
var a = 0; // a 0b = (a = 3) + (a = 4);// a = 3 ----> a為3,整個賦值語句返回3// a = 4 ----> a為4,整個賦值語句返回4// 由于返回值的內存和賦值操作用到的a的內存不同,所以b的運算所用的值,只和返回值有關,不受a的值變化的影響,因此,b = 3 + 4 = 7// 所以,最終a為4,b為7回答2:
賦值運算是自右向左結合的。所以首先是將(a=3)+(a=4)賦值給b。然而(a=3)+(a=4)是從左到右的順序執行的。所以顯示3賦值給a,然后4賦值給a。所以a最終為4,b最終為7。
回答3:先執行a=3,接著執行a=4, 所以最后a是4
回答4:a被4賦值了
回答5:b=(a=3)+(a=4)這行代碼時從左向右執行的執行a=3時,此時將3賦值給a 當a=4時,將4賦值給a,最后a的值就是4了.
標簽:
JavaScript
上一條:javascript - 頁面引入的所有的js文件,每個js文件都有window.onload偶爾會某個js文件沒有執行下一條:javascript - vue-cli熱更新的問題【webpack配置】
相關文章:
1. javascript - 移動端,當出現遮罩層的時候,遮罩層里有div是超出高度scroll的,怎么避免滑動div的時候,body跟隨滑動?2. javascript - webapp業務流程基本一致,多套主題(樣式基本不一樣,交互稍有偏差)管理,并且有不斷有新增主題,該如何設計組件化架構?3. dockerfile - 為什么docker容器啟動不了?4. javascript - ejs支持if else語法嗎5. 請教各位大佬,瀏覽器點 提交實例為什么沒有反應6. javascript - 用rem寫的頁面,安卓手機顯示文字是正常的,蘋果顯示的文字是特別小的是為什么呢7. macos - mac下docker如何設置代理8. apache - 本地搭建wordpress權限問題9. javascript - JS設置Video視頻對象的currentTime時出現了問題,IE,Edge,火狐,都可以設置,反而chrom卻...10. 新手 - Python 爬蟲 問題 求助
排行榜
