<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                這篇文章總結了七種辦法來交換兩個變量值 ``` let a = 12 let b = 34 ``` # 方法1:臨時變量法(非常low的方法) ``` let temp temp = a a = b b = temp ``` 最最最簡單的辦法就是使用一個臨時變量了,不過使用臨時變量的方法實在是太low了 首先把a的值存儲到臨時變量中,然后b賦值給a,最后拿出臨時變量中的a值賦給b,這個辦法是最基本的了。 # 方法2 下面的方案都不會有臨時變量,我總結了一下,其實不使用臨時變量的思路都是讓其中一個變量變成一個a和b都有關系的值,這樣可以先改變另一個變量值, 最后改變原修改的變量值。 比如這個 ``` a += b b = a - b a -= b ``` 讓a先變成a與b的‘和'(也可以換成a和b的差,一樣的) ,‘和'減去b巧妙的得到了a的變量值賦予b ,再通過‘和'減去a的值得到了b的值賦予a,或者是下面的變式(差的形式) ``` a -= b b = a + b a = b - a ``` 但是感覺和的形式更容易理解 # 方法3 這種方法對于第一次學習JavaScript的同學來說可能不了解,因為我們JavaScript很少會用到位操作,這是我在以前看算法競賽書的時候學來的,通過底層位運算來進行交換變量值,也是上面的方案演化來的 ``` a ^= b b ^= a a ^= b ``` 了解一下吧,C++甚至可以`a^=b^=a^=b`來完成任務,但我發現JavaScript不可以 不過我們可以這樣 ``` a = (b^=a^=b)^a ``` # 方法4 把a先變成了一個對象,這個對象保存著應該交換后的鍵值對,最后賦值搞定 ``` a = { a: b, b: a } b = a.b a = a.a ``` # 方法5 和上面的方法很像,只不過對象換成了數組 ``` a = [a, b] b = a[0] a = a[1] ``` # 方法6 這個辦法十分的巧妙,不是我想出來的,想出來的人一定是大神,除非他是托夢想出來的,簡單粗暴一行代碼交換了a和b的變量值 ``` a = [b, b = a][0] ``` 根據運算符優先級,首先執行`b = a`,此時的b直接得到了a的變量值,然后一步數組索引讓a得到了b的值(簡直不能再厲害) # 方法7 最后我的方案是利用了ES6的解構賦值語法,它允許我們提取數組和對象的值,對變量進行賦值,不過我現在測試用的chrome瀏覽器已經實現了 ``` [a, b] = [b, a] ``` 可以看到解構賦值語法讓我們的交換變量值變得超級簡單,這個解構賦值語法要是講的話要講很多不是今天的重點,以后會在再總結現在就不講了
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看