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?
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
Apabila terdapat ruang antara dua -, ia dianggap sebagai tanda tolak, sama seperti @ Die Fatty menjawab. Rentetan pada kedua-dua belah akan ditukar kepada nombor dan 1 tolak -1 akan menjadi 2;
-有空格的时候,被认为是减号,如 @死胖子 回答的一样。两边字符串会被转成数字处理, 1减-1得2;
两个-没有空格,就变成了--
Dua -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 cuba
1-- //Uncaught ReferenceError: Invalid left-hand side expression in postfix operation
--1 //Uncaught ReferenceError: Invalid left-hand side expression in postfix operation
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#🎜🎜. #
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 iniApabila terdapat ruang antara dua- , ia dianggap sebagai tanda tolak, sama seperti @ Die Fatty menjawab. Rentetan pada kedua-dua belah akan ditukar kepada nombor dan 1 tolak -1 akan menjadi 2;
-
有空格的时候,被认为是减号,如 @死胖子 回答的一样。两边字符串会被转成数字处理, 1减-1得2;两个
Dua-
没有空格,就变成了--
-
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- -1 bersamaan dengan 1-(-1)
-"1" ialah operasi unari, yang menukar rentetan menjadi -1 Berbanding dengan 1-(-1), kita mendapat 2.
Jika tiada ruang, penghurai akan melaporkan ralat sintaks.
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#🎜🎜. #