Rumah >hujung hadapan web >tutorial js >Mengapa JavaScript Bercantum Daripada Menambah Nombor?
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!