Rumah > Soal Jawab > teks badan
var z = 0;
z=z=z++;
alert(z);
Tetingkap pop timbul ialah 0, mengapa?
Ikuti
var z = 0;
z++;z=z;
alert(z);
Perbezaannya?
高洛峰2017-07-05 10:52:36
Saya ingin tahu sama ada anda melakukan ini untuk melakukan soalan atau sama ada anda telah melihat pengarang menggunakan kaedah penulisan ini dalam kod projek sumber terbuka Jika ia adalah untuk melakukan soalan atau ujian bertulis, saya cadangkan anda tidak menganggap perkara tersebut sekolah atau syarikat. Oleh kerana soalan ini tidak bermakna , swift3 malah mengalih keluar operator ++, dan ia tidak berbaloi untuk membuang masa pada ciri sintaks yang mengelirukan.
大家讲道理2017-07-05 10:52:36
Dua mata:
a = a++ ditugaskan dahulu dan kemudian dinaikkan
Ungkapan tugasan mempunyai nilai pulangan, yang dirujuk sebagai nilai ungkapan
z=z=z++;
Ia bersamaan dengan memberikan nilai ungkapan "z=z++" kepada z, dan nilai "z=z++" adalah sama dengan "z++" terlebih dahulu menggunakan nilai semasa z dan kemudian menambahnya
给我你的怀抱2017-07-05 10:52:36
Penambahan pasca: Ungkapan seperti
n++ akan mengembalikan salinan nilai asal n, dan kemudian nilai asal n++
n = n++ Keutamaan pengendali pasca kenaikan adalah lebih tinggi daripada tugasan
Jadi sebelah kanan = akan Menaikkan n dan mengembalikan salinan nilai asal n
Kemudian lakukan operasi tugasan untuk menetapkan nilai asal n kepada n, jadi nilai n kekal tidak berubah
阿神2017-07-05 10:52:36
Logik
z++
是个表达式,表达式的结果还是z
,所以 z=z++
相当于z=z
啥也没做,
你要了解下 z++
adalah untuk mengembalikan nilai pembolehubah terlebih dahulu dan kemudian menambahnya.
Atau anda boleh menggunakan ++z
, pra-kenaikan adalah untuk menaikkan diri sendiri dahulu, dan kemudian kembalikan hasilnya selepas kenaikan automatik
阿神2017-07-05 10:52:36
++ dan = masalah dengan susunan operasi Adalah disyorkan untuk melihat keutamaan operasi dan tugasan