Peranan fungsi javascript tidak ditentukan sebagai parameter
伊谢尔伦
伊谢尔伦 2017-05-19 10:44:01
0
4
676
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.

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

membalas semua(4)
仅有的幸福

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:

(function (undefined) {
    let a;
    
    // 如果a没有值则为a赋值.  但因为undefined被重写了,所以这句根本执行不到。
    if (a === undefined) {
        a = 'b';
    }
})(true);
小葫芦

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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan