Rumah >hujung hadapan web >tutorial js >Mengapa JavaScript Bercantum Daripada Menambah Nombor?

Mengapa JavaScript Bercantum Daripada Menambah Nombor?

Barbara Streisand
Barbara Streisandasal
2024-12-22 02:53:18926semak imbas

Why Does JavaScript Concatenate Instead of Adding Numbers?

Penggabungan Daripada Penjumlahan dalam Penambahan Berangka

Dalam senario pengaturcaraan tertentu, percubaan untuk menjumlahkan dua nilai berangka boleh mengakibatkan tingkah laku yang tidak dijangka di mana nombor digabungkan dan bukannya ditambah. Isu ini timbul apabila nilai input dianggap sebagai rentetan dan bukannya nombor.

Pertimbangkan kod JavaScript berikut:

function myFunction() {
  var y = document.getElementById("txt1").value;
  var z = document.getElementById("txt2").value;
  var x = y + z;
  document.getElementById("demo").innerHTML = x;
}

Setelah melaksanakan kod ini, anda mungkin menghadapi hasil yang pelik apabila 1 2 mengembalikan "12" dan bukannya "3" yang dijangkakan. Ini berlaku kerana pembolehubah y dan z pada mulanya diambil sebagai rentetan daripada medan input HTML. JavaScript mentafsirkan operasi penggabungan ( ) secara berbeza untuk rentetan daripada untuk nombor.

Untuk membetulkan isu ini dan memastikan penambahan nilai berangka, adalah perlu untuk menukar rentetan kepada nombor secara eksplisit sebelum melakukan pengiraan. JavaScript menyediakan penyelesaian mudah untuk mencapai perkara ini menggunakan " " (operator unary plus).

var x = +y + +z;

Dengan menambah setiap rentetan dengan " ", mereka dipaksa menjadi nilai berangka. Ini membolehkan JavaScript melakukan operasi tambah yang diingini, menghasilkan jumlah nombor yang betul. Oleh itu, coretan kod yang diperbetulkan ialah:

function myFunction() {
  var y = +document.getElementById("txt1").value;
  var z = +document.getElementById("txt2").value;
  var x = y + z;
  document.getElementById("demo").innerHTML = x;
}

Pengubahsuaian ini memastikan bahawa nilai input dianggap sebagai nombor, menghalang isu penyatuan dan menghasilkan jumlah yang sesuai.

Atas ialah kandungan terperinci Mengapa JavaScript Bercantum Daripada Menambah Nombor?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn