Rumah >hujung hadapan web >tutorial js >JavaScript Hoisting Demystified: Tingkatkan Kemahiran Pengekodan Anda!

JavaScript Hoisting Demystified: Tingkatkan Kemahiran Pengekodan Anda!

PHPz
PHPzasal
2024-08-08 10:25:51763semak imbas

Hai? Mari kita bincangkan tentang konsep JavaScript yang mungkin mengejutkan anda - Hoisting! ?

Hoisting adalah mengenai cara JavaScript mengendalikan pembolehubah dan pengisytiharan fungsi semasa fasa penyusunan. Pada asasnya, ia mengalihkannya ke bahagian atas skopnya, walaupun sebelum kod dilaksanakan. Tunggu, Apa!
Jadi, apakah maksudnya dalam amalan?
Baiklah, katakan anda mempunyai kod ini:

   `console.log(myVar);
   var myVar = "Hello, world!";
   // It outputs: `undefined`

Walaupun anda cuba log myVar sebelum ia diisytiharkan, kod itu masih berjalan tanpa sebarang ralat. Ini kerana semasa fasa penciptaan memori, myVar diberikan nilai lalai undefined. (Anda boleh merujuk kepada siaran terakhir saya di mana saya menulis tentang cara JavaScript berfungsi.)

Mari kita ambil contoh lain:
myFun();
function myFun() { console.log("Saya Fun"); }

Dalam kes ini, keseluruhan fungsi akan disimpan dalam ingatan. Jika anda menghiburkannya ( console.log(myFun) ), anda akan melihat keseluruhan fungsi akan dicetak atau dijalankan, dan ia akan mengeluarkan I am Fun.

Cukup keren, bukan? Pengangkatan boleh mempunyai beberapa implikasi menarik untuk kod anda, jadi penting untuk memahami cara ia berfungsi. ? Beritahu saya jika anda mempunyai sebarang konsep JavaScript lain yang ingin anda sembang!

Dan terakhir bagaimana dengan fungsi anak panah? ???

Ia juga dianggap seperti pembolehubah, menyimpan keseluruhan fungsi di dalamnya. Apabila anda akan cuba memanggil seperti myFun() sebelum pengisytiharan anda akan mengalami ralat.

Berikut ialah contoh:

    `console.log("Before declaration myArrowFun: ", myArrowFun)
    var myArrowFun = () => { console.log("I am Arrow FuN"); }
    console.log("After declaration myArrowFun: ", myArrowFun)
    console.log("Call declaration myArrowFun: ", myArrowFun())`

JavaScript Hoisting Demystified: Elevate Your Coding Skills!

Atas ialah kandungan terperinci JavaScript Hoisting Demystified: Tingkatkan Kemahiran Pengekodan Anda!. 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
Artikel sebelumnya:Laman Web Hari untuk HariArtikel seterusnya:Laman Web Hari untuk Hari