Rumah > Soal Jawab > teks badan
Saya sedang belajar JavaScript (NodeJs) baru-baru ini
Saya menemui masalah semasa menggunakan untuk melintasi JsonArray
Saya menulisnya seperti ini pada masa itu:
Secara logiknya, sepatutnya salah untuk menulis seperti ini nilai sama ada ia betul. adalah Null, tetapi saya menjalankannya, dan ia sebenarnya berjaya, tiada ralat dilaporkan, dan outputnya adalah normal
Muka tanda soal hitam...
Sila beritahu saya cara ini berfungsi...
Bolehkah adakah ituobj2=obj1.result[i]
akan mengembalikan boolean? ?
Saya pernah belajar JAVA sebelum ini, tetapi saya rasa JavaScript agak kurang ketat berbanding JAVA, dan pemikiran saya agak terpenjara...
我想大声告诉你2017-05-16 13:36:41
Ekspresi tugasan mengembalikan nilai yang diberikan. Dalam erti kata lain, obj2=obj1.result[i]
akan mengembalikan obj1.result[i]
. obj2=obj1.result[i]
会返回obj1.result[i]
。
js是动态语言,它有隐私转换的特性,就是在该需要用到某种数据类型的时候,它会通过预先的规则来将传进来的值转换成特定的类型。
那么在刚刚赋值表达式obj2=obj1.result[i]
中返回值是obj1.result[i]
,那js引擎就会对obj1.result[i]
进行类型转换成Boolean类型。
如果你obj1.result[i]
的值是除NaN
,0
,undefined
,null
,''
之外的其他值,都会转换成true
,否则则是false
obj2=obj1.result[i]
yang baru diberikan ialah obj1.result[i]
, kemudian enjin js akan bertindak balas kepada obj1 .result[i]
menukar jenis kepada jenis Boolean. 🎜
🎜Jika nilai obj1.result[i]
anda adalah kecuali NaN
, 0
, undefined
, Nilai selain null
dan ''
akan ditukar kepada true
, jika tidak, ia akan menjadi false
. 🎜phpcn_u15822017-05-16 13:36:41
Hasil pulangan pengendali tugasan ialah nilai yang ditetapkan Ini ditakrifkan dalam semua bahasa C utama, termasuk Java.
Pertimbangan bersyarat dalam Java hanya boleh menggunakan nilai Boolean, tetapi JavaScript berbeza Nilai Boolean diperlukan di sini Jika nilai yang anda berikan bukan nilai Boolean, ia akan ditukar secara tersirat kepada nilai Boolean.
为情所困2017-05-16 13:36:41
Javascript ialah bahasa yang ditaip lemah dan akan ditukar secara automatik~
我想大声告诉你2017-05-16 13:36:41
Tanda sama bermakna penugasan, yang bermaksud anda memberikan obj1.result[i] kepada obj2, jadi ia sentiasa benar
Anda boleh mencari perbezaan antara = == === dan anda akan faham selepas membaca soalan