Adakah masalah ini penutupanSaya tidak fikir ia adalah penutupan, dan tiada sarang fungsi Ini adalah masalah fungsi pembolehubah tempatan dan fungsi tanpa nama.
Mencipta fungsi tanpa nama dan melaksanakannya serta-merta tidak melibatkan penutupan Ia hanya menamatkan gelung,
, iaitu 5.i 的值变成 5 退出循环, console.log(i)打印当前的 i
Ini bersamaan dengan:
var test = function() {
for(var i = 0; i < 5; i++) {}
console.log(i) // i = 5
}
test();
Ini adalah masalah yang disebabkan oleh js tidak mempunyai skop peringkat blok, hanya skop fungsi. . . Ju boleh terus tarik penutup. . . saya terima. . .
Adakah masalah ini penutupan Saya tidak fikir ia adalah penutupan, dan tiada sarang fungsi Ini adalah masalah fungsi pembolehubah tempatan dan fungsi tanpa nama.
Mencipta fungsi tanpa nama dan melaksanakannya serta-merta tidak melibatkan penutupan Ia hanya menamatkan gelung,, iaitu 5.
Ini bersamaan dengan:i
的值变成5
退出循环,console.log(i)
打印当前的i
Ini bukan penutupan, ia hanya nilai yang dicetak selepas kelajuan gelung untuk
Ini adalah masalah yang disebabkan oleh js tidak mempunyai skop peringkat blok, hanya skop fungsi. . . Ju boleh terus tarik penutup. . . saya terima. . .
Tiada perkara seperti skop peringkat blok dalam JavaScript, jadi pembolehubah di dalam gelung for {} dan jika pernyataan {} boleh diakses dari luar.
Skop terbahagi kepada skop global dan skop tempatan
Skop global dibina oleh sistem untuk anda apabila anda membuat dokumen.
Skop setempat dicapai dengan mencipta fungsi.
Ini biasanya muncul dalam masalah pemeriksaan penutupan
i + 1 digelung 5 kali, jadi i ialah 5
Anda sepatutnya ingin tahu tentang penutupan dalam js
Oleh kerana pelaksanaan gelung for selesai apabila console.log dilaksanakan, i secara semula jadi bersamaan dengan 5
Mari kita lihat penutupan digabungkan dengan pemasa, atau pengikatan acara
Penutupan dalam js,