Rumah > Soal Jawab > teks badan
"1"- -"1";
Hasil operasi di atas ialah 2. Jika anda meninggalkan ruang di tengah, ralat akan dilaporkan Jika terdapat ruang, hasilnya akan menjadi 2. Bolehkah seseorang menganalisis mengapa?
Terima kasih~~
某草草2017-05-19 10:39:30
Apabila melakukan operasi tolak, js akan cuba menukar ungkapan pada kedua-dua belah kepada nombor supaya operasi boleh dijalankan (tingkah laku pembetulan ralat kecil), dan menjadi 1-(-1), menghasilkan 2 .
Bagi ralat yang dilaporkan tanpa ruang, ia benar-benar kesalahan tatabahasa. .
Dan ini adalah ralat, bukan soal pemalar atau tidak Walaupun ia ditukar kepada pembolehubah, a--b adalah sintaks yang salah ditukar kepada a-( -b)? Itu akan memusnahkan secara langsung --, memusnahkan logik
Melainkan anda a---b, penghurai boleh menjadikannya (a--)-b untuk anda, tetapi seperti. ini Cara penulisannya juga sangat kelakar Mungkin apa yang anda ingin ungkapkan ialah a-(--b)
Penghurai hanya akan membuat beberapa pembetulan untuk anda apabila makna (yang difikirkannya) agak jelas, sama seperti ''-'' hanya nombor dalam penolakan sokongan js, jadi jika anda bukan nombor ia akan menukarnya kepada Nombor, tetapi ''+'' dan 0+'', dalam kes ini ia perlu diperbetulkan berdasarkan ungkapan pertama anda, jika tidak, ia tidak akan tahu sama ada anda sedang melakukan penggabungan rentetan atau penambahan terlalu buruk. Ia benar-benar pembetulan ralat yang merosakkan.
Jangan terlalu sibuk dengan perkara seperti ini, ini soalan hiburan. . Apabila bercakap tentang pengekodan, saya percaya tiada sesiapa yang waras akan melakukan ini仅有的幸福2017-05-19 10:39:30
Apabila terdapat ruang antara dua -
有空格的时候,被认为是减号,如 @死胖子 回答的一样。两边字符串会被转成数字处理, 1减-1得2;
两个-
没有空格,就变成了--
-
s tanpa ruang menjadi operator --
Ini ialah operasi pengurangan dan hanya boleh digunakan untuk pembolehubah. Menggunakan tatatanda ini pada nombor pasti akan mengakibatkan ralat. Kalau tak percaya boleh cuba1-- //Uncaught ReferenceError: Invalid left-hand side expression in postfix operation
--1 //Uncaught ReferenceError: Invalid left-hand side expression in postfix operation
为情所困2017-05-19 10:39:30
-"1" ialah operasi unari, yang menukar rentetan menjadi -1 Berbanding dengan 1-(-1), kita mendapat 2.
Jika tiada ruang, penghurai akan melaporkan ralat sintaks.
怪我咯2017-05-19 10:39:30
Pertama terdapat dua pengendali: operator ruang, tolak dan operasi nilai negatif Keutamaan operasi yang terakhir adalah lebih tinggi daripada yang pertama. -"1" akan ditukar secara tersirat kepada -1
Selain tiada ruang, ia adalah operasi penurunan diri Seperti yang dikatakan oleh @deepgoing, "pemalar" tidak boleh melakukan operasi kenaikan diri dan pengurangan diri#🎜🎜. #