var leadingThirtysevenList = list.bind(undefined, 37);
Ini ialah coretan kod yang saya lihat dalam manual tentang perkara yang dilakukan oleh fungsi bind() apabila ia melepasi parameter kedua, di mana ia melepasi undefined sebagai parameter. Saya juga telah melihat amalan menghantar parameter yang tidak ditentukan dalam beberapa rangka kerja, tetapi saya tidak dapat mencari jawapan yang lebih lengkap dan jelas melalui carian dalam talian. Saya ingin meminta guru memberikan jawapan terperinci.
Kod yang anda berikan, mengapa undefined dihantar, mungkin tiada kaitan dengan penjelasan saya di bawah.
Saya terutamanya akan bercakap tentang beberapa rangka kerja lain sebagai contoh, jquery akan lulus dalam undefined sebagai parameter dan menetapkan nilai nol.
Itu kerana pepijat dalam js, iaitu, undefined boleh ditulis semula! ! , ya, anda mendengarnya dengan betul.
Mengenai mengapa ia berbahaya untuk undefined ditulis semula, lihat kod berikut:
Kemudian pada pendapat anda, apakah yang perlu dilakukan jika anda ingin melepasi parameter kedua dan menggunakan nilai lalai untuk parameter pertama atau tidak mengapa?
Kod ini hanya untuk melaksanakan fungsi panggilan kari
ECMAScript5.1 15.3.4.4 menerangkan bahawa apabila parameter pertama diluluskan adalah batal atau tidak ditentukan, konteks fungsi akan menghala ke tetingkap (global dalam nod)
Yang pertama digunakan sebagai ruang letak, tetapi menggunakan null akan memberi kesan yang lebih baik daripada undefined. Secara amnya, saya terbiasa menggunakan null untuk menduduki jawatan.