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

JavaScript Hoisting Demystified: Tingkatkan Kemahiran Pengekodan Anda!

PHPz
Lepaskan: 2024-08-08 10:25:51
asal
781 orang telah melayarinya

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`
Salin selepas log masuk

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

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!

sumber:dev.to
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan