Skop dan Pengangkat Fungsi Javascript: Membongkar Mekanik Tersembunyi
Anda telah terjumpa contoh yang membingungkan yang melibatkan skop dan pengangkatan JavaScript. Mari kita mendalami konsep ini untuk mendapatkan pemahaman yang lebih jelas.
Fungsi Mengangkat
Pengisytiharan fungsi mengangkat angkat ke bahagian atas skop kandungannya. Dalam contoh anda:
function b() { a = 10; return; function a() {} }
Jurubahasa menyusun semula kod ini seperti berikut:
function b() { function a() {} a = 10; return; }
Ini bermakna pengisytiharan fungsi dalaman a() diletakkan dengan berkesan pada permulaan b() fungsi, walaupun ia muncul kemudian dalam kod.
Pembolehubah Skop
Dalam JavaScript, pembolehubah boleh diskop secara global atau setempat. Pembolehubah global boleh diakses dari mana-mana sahaja dalam program, manakala pembolehubah tempatan dihadkan dalam skop fungsi penentunya.
Kes Penasaran Perisytiharan Fungsi
Dalam kod anda , pengisytiharan fungsi dalaman a() dalam b() ditafsirkan sebagai fungsi segera invocation:
var a = function () {};
Ini secara berkesan mewujudkan pembolehubah tempatan a dalam fungsi b(), yang membayangi pembolehubah global.
Menyatukan Semuanya
Menggabungkan konsep angkat dan skop berubah-ubah, anda boleh memvisualisasikan urutan pelaksanaan sebagai berikut:
Atas ialah kandungan terperinci Bagaimanakah Pengangkatan dan Skop Fungsi JavaScript Mempengaruhi Tugasan Pembolehubah dan Dapatkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!