Rumah  >  Artikel  >  hujung hadapan web  >  js operator summary_basic knowledge

js operator summary_basic knowledge

WBOY
WBOYasal
2016-05-16 16:31:531233semak imbas

Logik ATAU (||)

hasil var = benar || Sama seperti operasi logik AND, logik OR tidak semestinya mengembalikan nilai Boolean jika salah satu operan bukan nilai Boolean dalam kes ini, ia mengikut peraturan berikut:
□ Jika operan pertama ialah objek, kembalikan operan pertama.

□ Jika operan pertama bernilai palsu, operan kedua dikembalikan.

□ Jika kedua-dua operan ialah objek, kembalikan operan pertama.

□ Jika kedua-dua operan adalah nol, kembalikan null

□ Jika kedua-duanya tidak ditentukan, kembalikan tidak ditentukan.

□ Jika kedua-duanya adalah NaN, kembalikan NaN

Perbezaan antara “===” dan “==”

Pengendali kesaksamaan (==)

Pengendali kesaksamaan melakukan penukaran tersirat pada nilai operasi sebelum perbandingan:

Jika nilai operan ialah boolean, tukarkannya kepada nilai angka sebelum membandingkan

Jika satu nilai operasi ialah rentetan dan nilai operasi lain ialah nilai angka, rentetan itu ditukar kepada nilai angka melalui fungsi Number()
Jika satu nilai operasi ialah objek dan satu lagi bukan, kaedah valueOf() objek dipanggil dan hasilnya dibandingkan mengikut peraturan sebelumnya
null dan undefined adalah sama
Jika nilai operasi ialah NaN, perbandingan kesamaan mengembalikan palsu
Jika kedua-dua nilai operan adalah objek, bandingkan sama ada ia menunjuk kepada objek yang sama. Operator kesamaan mengembalikan benar jika kedua-dua operan menghala ke objek yang sama, jika tidak, mengembalikan palsu
Berikut dijelaskan masing-masing:
Mari kita bercakap tentang === pertama, ini agak mudah. Peraturan berikut digunakan untuk menentukan sama ada dua nilai === sama:
1. Jika jenisnya berbeza, [tidak sama]
2. Jika kedua-duanya adalah nilai berangka dan nilai yang sama, maka [sama]; (!Pengecualian) ialah jika sekurang-kurangnya satu daripadanya ialah NaN, maka [tidak sama]. (Untuk menentukan sama ada nilai ialah NaN, anda hanya boleh menggunakan isNaN() untuk menentukan)
3. Jika kedua-duanya adalah rentetan dan aksara pada setiap kedudukan adalah sama, maka [sama] jika tidak [tidak sama].
4. Jika kedua-dua nilai adalah benar, atau kedua-duanya palsu, maka [sama].
5. Jika kedua-dua nilai merujuk kepada objek atau fungsi yang sama, maka [sama]; jika tidak [tidak sama].
6. Jika kedua-dua nilai adalah nol, atau kedua-duanya tidak ditentukan, maka [sama].

Mari kita bercakap tentang ==, mengikut peraturan berikut:

1. Jika kedua-dua jenis nilai adalah sama, lakukan === perbandingan.
2. Jika dua jenis nilai berbeza, ia mungkin sama. Lakukan penukaran jenis dan perbandingan mengikut peraturan berikut:
a. Jika satu batal dan satu lagi tidak ditentukan, maka [sama].
b. Jika satu rentetan dan satu lagi nilai berangka, tukar rentetan itu kepada nilai berangka dan kemudian bandingkan.
c. Jika mana-mana nilai adalah benar, tukarkannya kepada 1 dan bandingkan jika ada nilai salah, tukarkannya kepada 0 dan bandingkan;
d. Jika satu adalah objek dan satu lagi adalah nilai angka atau rentetan, tukar objek itu kepada nilai jenis asas dan kemudian bandingkan. Objek ditukar kepada jenis asas menggunakan kaedah toString atau valueOf. Kelas terbina dalam teras JS akan mencuba valueOf sebelum toString pengecualian ialah Date, yang menggunakan penukaran toString. Objek teras bukan js, Ling Shuo (lebih menyusahkan, saya kurang faham)
e. Mana-mana kombinasi lain adalah [tidak sama].

nilai ungkapan nilai ungkapan

null==undefined true true==1 true
"NaN" ==NaN false $null==0 false
palsu==0 benar NaN!=NaN benar
Ringkasnya, "==" hanya memerlukan nilai yang sama. "===" memerlukan kedua-dua nilai dan jenis adalah sama.

Maklumat datang daripada pengaturcaraan lanjutan javascript, disusun dan dikemas kini kemudian

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