Rumah > hujung hadapan web > tutorial js > Mengapa JavaScript Bertindak Berbeza dengan Operator Plus dan Tolak Apabila Digunakan dengan Rentetan dan Nombor?

Mengapa JavaScript Bertindak Berbeza dengan Operator Plus dan Tolak Apabila Digunakan dengan Rentetan dan Nombor?

DDD
Lepaskan: 2024-11-29 04:23:12
asal
368 orang telah melayarinya

Why Does JavaScript Act Differently with Plus and Minus Operators When Used with Strings and Numbers?

Gelagat Menarik JavaScript dengan Operator Plus dan Tolak

Pengendalian JavaScript bagi operator tambah ( ) dan tolak (-) apabila digunakan pada rentetan dan nombor sering membingungkan pengaturcara. Artikel ini akan merungkai teka-teki, meneroka sebab pengendali ini berkelakuan berbeza dalam senario sedemikian.

Pertimbangkan kod berikut:

console.log("1" + 1); // Prints "11"
console.log("1" - 1); // Prints "0"
Salin selepas log masuk

Untuk memahami sebab JavaScript menghasilkan output ini, kita perlu menyelidiki sifat pengendali dan jenis data yang terlibat.

String Concatenation dengan Plus ( ) Operator

Apabila operator tambah ( ) digunakan pada rentetan, seperti "1", dan nombor, ia melakukan penggabungan rentetan. Dalam proses ini, nombor itu ditukar kepada rentetan, dan dua rentetan itu dilampirkan bersama. Oleh itu, dalam contoh pertama, "1" digabungkan dengan "1" untuk menghasilkan "11".

Penolakan Nombor dengan Operator Tolak (-)

Pada Sebaliknya, operator tolak (-) tidak boleh digunakan pada rentetan secara langsung. Apabila rentetan ditemui, JavaScript cuba menukarnya menjadi nombor. Walau bagaimanapun, jika penukaran gagal, seperti dalam contoh kedua, hasilnya ialah NaN (Bukan-Nombor). Untuk mengelakkan ini, JavaScript memaksa rentetan "1" menjadi nombor, menghasilkan penolakan 1 daripada 1, yang menghasilkan 0.

Atas ialah kandungan terperinci Mengapa JavaScript Bertindak Berbeza dengan Operator Plus dan Tolak Apabila Digunakan dengan Rentetan dan Nombor?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan