串聯而不是數值加法中的求和
在某些程式設計場景中,嘗試對兩個數值求和可能會導致意外行為,其中數字被連接而不是相加。當輸入值被視為字串而不是數字時,就會出現此問題。
考慮以下 JavaScript 程式碼:
function myFunction() { var y = document.getElementById("txt1").value; var z = document.getElementById("txt2").value; var x = y + z; document.getElementById("demo").innerHTML = x; }
執行此程式碼時,您可能會遇到一個特殊的結果,其中 1 2回傳「12」而不是預期的「3」。發生這種情況是因為變數 y 和 z 最初是從 HTML 輸入欄位作為字串檢索的。 JavaScript 對字串的連接操作 ( ) 的解釋與對數字的解釋不同。
為了修正此問題並確保數值相加,有必要在執行計算之前將字串明確轉換為數字。 JavaScript 提供了一個簡單的解決方案,使用「」(一元加運算子)來實現此目的。
var x = +y + +z;
透過在每個字串前面加上“”,它們被強制轉換為數值。這使得 JavaScript 能夠執行所需的加法運算,從而得出正確的數字總和。因此,修正後的程式碼片段將是:
function myFunction() { var y = +document.getElementById("txt1").value; var z = +document.getElementById("txt2").value; var x = y + z; document.getElementById("demo").innerHTML = x; }
此修改可確保輸入值被視為數字,防止串聯問題並產生適當的總和。
以上是為什麼 JavaScript 使用連接而不是添加數字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!