我們將學習使用各種方法在 JavaScript 中交換兩個變數值。讓我們透過範例來了解交換的含義。例如,我們有兩個變量,稱為變數 1 和變數 2。當我們將variable2的值賦給variable1,將variable1的值賦給variable2時,我們可以說我們已經交換了variable1和variable2的值。
我們可以建立一個臨時變量,這意味著可以暫時儲存第一個變數的值的任何變數。之後,我們可以將第二個變數的值賦給第一個變數。接下來,我們可以從臨時變數中取得第一個變數的值並將其指派給第二個變數。
使用者可以按照下面的語法使用臨時變數來交換兩個變數值。
let temporaryVariable = variable1; variable1 = variable2; variable2 = temporaryVariable;
在上面的語法中,我們將變數1的值儲存到暫存變數中。當我們將variable2的值賦給variable1並將temporaryVariable的值賦給variable2之後。
在下面的範例中,我們建立了兩個變數並分配了字串值。此外,我們使用臨時變數來交換兩個變數值。在輸出中,使用者可以看到變數1和變數2的值交換了。
<html> <body> <h2>Using the <i> temporary variable </i> to swap two variable values in JavaScript</h2> <div id = "output"> </div> <script> let output = document.getElementById('output'); let variable1 = "Value1"; let variable2 = "Value2"; let temporaryVariable = variable1; variable1 = variable2; variable2 = temporaryVariable; output.innerHTML += "The value of the variable1 and variable2 after swaping are the <br/>"; output.innerHTML += "variable1 = " + variable1 + " variable2 = " + variable2; </script> </body> </html>
在 JavaScript 的 ES6 版本中,引入了陣列或物件的解構。在數組解構中,我們可以將數組值儲存到另一個或同一個變數中。在這裡,我們將創建兩個變數的陣列並破壞該數組以交換兩個變數。
使用者可以依照以下語法使用陣列解構屬性來交換兩個變數。
[var2, var1] = [var1, var2];
在上面的語法中,我們將 var1 的值儲存到 var2,將 var2 的值儲存到 var1。
在下面的範例中,我們採用了 var1 和 var2。之後,我們使用 var1 和 var2 建立了兩個變數的陣列。在解構數組時,我們將 var1 的值賦給 var2 變量,將 var2 的值賦給 var1 變數。
<html> <body> <h2>Using the <i>Assignment destructuring property</i> to swap two variable values in JavaScript </h2> <div id="output"> </div> <script> let output = document.getElementById('output'); let var1 = 20; let var2 = 10; function swapVariables() { [var2, var1] = [var1, var2]; output.innerHTML += "The value of the var1 and var2 after swaping are the <br/>"; output.innerHTML += "var1 = " + var1 + " var2 = " + var2; } swapVariables() </script> </body> </html>
我們可以使用乘法和除法算術運算子來交換兩個數字。要交換兩個變量,我們可以對兩個數值執行算術運算。
使用者可以依照下列語法使用算術運算子來交換兩個數值變數值。
num1 = num1 * num2; num2 = num1 / num2; num1 = num1 / num2;
在上面的語法中,我們首先將兩個數字相乘並將它們儲存在 num1 變數中。之後,我們將新的 num1 變數(num1 * num2)與 num2 變數相除,並將其儲存在 num2 變數中。接下來,我們將更新的 num1 (num1*num2) 除以更新後的 num2,並將其儲存在 num1 變數中。
在下面的範例中,swapNumbers() 函數交換兩個數值。在下面範例的輸出中,使用者可以觀察 num1 和 num2 變數的初始值以及交換兩個變數後的值。
<html> <body> <h2>Using the <i>Arithmetic operators</i> to swap two variable values in JavaScript</h2> <div id = "output"> </div> <button onclick = "swapNumbers()"> Swap variables </button> <script> let output = document.getElementById('output'); function swapNumbers() { let num1 = 2; let num2 = 4; output.innerHTML += output.innerHTML += "num1 = " + num1 + " num2 = " + num2 + "<br/>"; num1 = num1 * num2; // num1 == 8 (2*4) num2 = num1 / num2; // num2 == 2 (8/4) num1 = num1 / num2; // num1 == 4, (8/2) output.innerHTML += "The value of the num1 and num2 after swaping are the <br/>"; output.innerHTML += "num1 = " + num1 + " num2 = " + num2; } </script> </body> </html>
當我們對任意數值與其自身進行異或運算時,它會傳回零。因此,我們將使用位元異或運算子的該屬性來交換兩個值。
使用者可以依照下列語法使用位元異或運算子來交換兩個數字。
num1 = num1 ^ num2; // num1 == num1 ^ num2 num2 = num1 ^ num2; // num2 == (num1 ^ num2) ^ num2 == num1 num1 = num1 ^ num2; // num1 == (num1 ^ num2) ^ num1 == num2
在上面的語法中,我們對 num1 和 num2 執行了三次位元異或運算,兩次交換 num1 和 num2 變數值。
在下面的範例中,當使用者點擊交換變數按鈕時,就會彈出提示框進行數字輸入。然後,在輸出中,使用者可以看到交換後的數值。
<html> <body> <h2>Using the <i>Bitwise XOR operator</i> to swap two variable values in JavaScript</h2> <div id="output"> </div> <button onclick = "swapNumbers()">Swap variables</button> <script> let output = document.getElementById('output'); function swapNumbers() { let num1 = prompt("Enter first number value", 10); let num2 = prompt("Enter second number value", 20); output.innerHTML += output.innerHTML += "num1 = " + num1 + " num2 = " + num2 + "<br/>"; num1 = num1 ^ num2; num2 = num1 ^ num2; num1 = num1 ^ num2; output.innerHTML += "The value of the num1 and num2 after swaping are the <br/>"; output.innerHTML += "num1 = " + num1 + " num2 = " + num2; } </script> </body> </html>
使用者可以使用第一種和第二種方法來交換所有變量,例如字串、布林值、數字等。第三種和第四種方法僅適用於對數值進行排序。
以上是如何在 JavaScript 中交換兩個變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!