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

Bagaimanakah Pengangkatan dan Skop Fungsi JavaScript Mempengaruhi Penimpaan Pembolehubah?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-24 03:02:13754semak imbas

How Does JavaScript Function Hoisting and Scoping Affect Variable Overwriting?

Javascript Function Scoping and Hoisting: A Deeper Dive

Artikel Ben Cherry tentang Javascript Scoping and Hoisting memperkenalkan konsep function lifting dan variable scoping . Untuk lebih memahami impaknya, mari kita teliti contoh menarik yang dia berikan:

Jalankan kod ini dan anda akan dapati ia memberi isyarat kepada "1", yang mungkin kelihatan membingungkan.

Fungsi angkat ialah konsep penting هنا، meningkatkan pengisytiharan fungsi ke permulaan skopnya. Ini bermakna kod di atas ditulis semula dengan berkesan sebagai:

Anehnya, fungsi dalam fungsi, a(), berfungsi sama seperti pengisytiharan pembolehubah (var a = function () {};) . Pertimbangkan ini:

Kedua-dua versi menghasilkan hasil yang sama.

Pada asasnya, kod melakukan ini:

Pengambilan utama ialah fungsi mengangkat dan skop pembolehubah berinteraksi untuk menghasilkan tingkah laku ini. Fungsi dalaman mencipta pembolehubah tempatan a, manakala pengisytiharan fungsi itu sendiri menaikkan fungsi ke atas. Ini akhirnya membawa kepada makhluk yang ditakrifkan secara global tidak terjejas oleh perubahan dalam fungsi.

Atas ialah kandungan terperinci Bagaimanakah Pengangkatan dan Skop Fungsi JavaScript Mempengaruhi Penimpaan Pembolehubah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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