Rumah > hujung hadapan web > tutorial js > Bagaimanakah Pengangkatan dan Skop Fungsi JavaScript Mempengaruhi Tugasan Pembolehubah dan Dapatkan?

Bagaimanakah Pengangkatan dan Skop Fungsi JavaScript Mempengaruhi Tugasan Pembolehubah dan Dapatkan?

Barbara Streisand
Lepaskan: 2024-12-17 17:08:13
asal
345 orang telah melayarinya

How Does JavaScript Function Hoisting and Scoping Affect Variable Assignment and Retrieval?

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() {}
}
Salin selepas log masuk

Jurubahasa menyusun semula kod ini seperti berikut:

function b() {
    function a() {}
    a = 10;
    return;
}
Salin selepas log masuk

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 () {};
Salin selepas log masuk

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:

  • Pengisytiharan fungsi b() dinaikkan ke bahagian atas skop global.
  • Pernyataan var a = 1 mentakrifkan pembolehubah global.
  • Pengisytiharan fungsi dalaman a() juga dinaikkan dalam fungsi b() dan berkelakuan seperti var a = function () {};.
  • Pernyataan a = 10 menetapkan semula pembolehubah setempat dalam b().
  • Apabila anda memanggil makluman(a), ia mengembalikan pembolehubah global, yang belum diubah suai dan kekal nilai asalnya iaitu 1.

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan