Rumah >hujung hadapan web >tutorial js >Mengapa JavaScript Bercantum Daripada Menambah dengan Operator Plus ( )?

Mengapa JavaScript Bercantum Daripada Menambah dengan Operator Plus ( )?

Linda Hamilton
Linda Hamiltonasal
2024-10-28 23:39:30959semak imbas

Why Does JavaScript Concatenate Instead of Adding with the Plus ( ) Operator?

Penggabungan Berbanding Penjumlahan dengan Operator Tambah ( ) dalam JavaScript

Isu biasa yang dihadapi dalam JavaScript ialah penggabungan pembolehubah yang tidak dijangka dan bukannya pembolehubah mereka penjumlahan yang dimaksudkan apabila menggunakan operator tambah (). Sebagai contoh, apabila kod berikut dilaksanakan, andaikan i dimulakan kepada 1:

divID = "question-" + i+1;

Hasil yang diperoleh ialah "soalan-11" dan bukannya "soalan-2".

Ini fenomena berlaku kerana pengendali tambah ( ) mengendalikan kedua-dua penggabungan dan penambahan. Apabila digunakan pada jenis operan yang berbeza, pengendali mengutamakan penyatuan jika satu operan ialah rentetan. Oleh itu, operasi diproses dari kiri ke kanan:

  1. "soalan-" i: Memandangkan "soalan-" ialah rentetan, penggabungan berlaku, menghasilkan "soalan-1".
  2. "soalan-1" 1: Sekali lagi, penggabungan berlaku disebabkan oleh operan rentetan, menghasilkan "soalan-11".

Untuk mendapatkan penjumlahan yang diingini, sertakan ungkapan angka dalam kurungan:

var divID = "question-" + (i+1);

Ini memastikan penambahan i dan 1 dilakukan terlebih dahulu, dengan hasil (2) kemudian digabungkan dengan "soalan-". Hasilnya ialah "soalan-2" seperti yang dimaksudkan.

Tingkah laku ini lazim dalam pelbagai bahasa pengaturcaraan, bukan hanya JavaScript. Adalah penting untuk diingat bahawa susunan operasi dilaksanakan adalah penting, terutamanya apabila berurusan dengan pelbagai jenis operan dan pengendali. Menggunakan kurungan secara jelas mengawal susunan penilaian, menghalang keputusan yang tidak dijangka.

Atas ialah kandungan terperinci Mengapa JavaScript Bercantum Daripada Menambah dengan Operator Plus ( )?. 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