Hoisting JavaScript
- ຫລັງການກັບບັນດາວັດຖຸ JS ການຄືນກັບບັນດາວັດຖຸ
- ຫລັງການໜ້າເວັບ ການສະແດງບໍ່ປະກອບຂອງ JS
Hoisting (Hoisting) ແມ່ນພາສາທີ່ JavaScript ຍົກຂຶ້ນການຖະແຫຼງທັງໝົດໄປຫາຕອນທີ່ສຸດ.
ການຖະແຫຼງຂອງ JavaScript ຈະຍົກຂຶ້ນ
ໃນ JavaScript ທ່ານສາມາດຖະແຫຼງພາສາຫລີນຫລັງຈາກພາສາຫລີນຖືກໃຊ້.
ບອກກັບວ່າທ່ານສາມາດໃຊ້ພາສາຫລີນກ່ອນຖະແຫຼງພາສາຫລີນ.
ຄວາມຄິດທີ 1 ກັບຄວາມຄິດທີ 2 ຜົນຂອງມັນບໍ່ຄືກັນ:
ຄວາມຄິດທີ 1
x = 5; // ຕັດສິນຈະການ 5 ໃຫ້ x elem = document.getElementById("demo"); // ການຄົ້ນຫາບັນດາວັດຖຸ elem.innerHTML = x; // ສະແດງ x ໃນປະກອບ. var x; // ຖະແຫຼງ x
ຄວາມຄິດທີ 2
var x; // ຖະແຫຼງ x x = 5; // ຕັດສິນຈະການ 5 ໃຫ້ x elem = document.getElementById("demo"); // ການຄົ້ນຫາບັນດາວັດຖຸ elem.innerHTML = x; // ສະແດງ x ໃນປະກອບ.
ເພື່ອເຂົ້າໃຈດີກັບສິນລະຫັດ "hoisting" ທ່ານຕ້ອງໄດ້ເຂົ້າໃຈດີກັບສິນລະຫັດນັ້ນ.
Hoisting ແມ່ນພາສາທີ່ JavaScript ຍົກຂຶ້ນການຖະແຫຼງທັງໝົດໄປຫາຕອນທີ່ສຸດຂອງພາກສ່ວນການໃຊ້ (ຍົກຂຶ້ນໄປຫາຕອນທີ່ສຸດຂອງບົດສະຫຼັບຫລືວິທະຍາສາດ).
ສິນລະຫັດ let ແລະ const
ໃຊ້ let
ຫລື const
ທີ່ຖະແຫຼງຂອງພາສາຫລີນແລະຄວາມຄືນບໍ່ຈະຍົກຂຶ້ນ!
ການລະບຸຂອງ JavaScript ບໍ່ຈະຍົກຂຶ້ນ
JavaScript ຍົກຂຶ້ນການຖະແຫຼງບໍ່ແມ່ນການລະບຸ。
ຄວາມຄິດທີ 1 ກັບຄວາມຄິດທີ 2 ຜົນຂອງມັນບໍ່ຄືກັນ:
ຄວາມຄິດທີ 1
var x = 5; // ການຈັດຕັ້ງ x var y = 7; // ລະບຸ y elem = document.getElementById("demo"); // ການຄົ້ນຫາບັນດາວັດຖຸ elem.innerHTML = x + " " + y; // ສະແດງ x ແລະ y
ຄວາມຄິດທີ 2
var x = 5; // ການຈັດຕັ້ງ x elem = document.getElementById("demo"); // ການຄົ້ນຫາບັນດາວັດຖຸ elem.innerHTML = x + " " + y; // ສະແດງ x ແລະ y var y = 7; // ລະບຸ y
ບັນຫາສຸດທ້າຍຂອງ y ຍັງບໍ່ໄດ້ຖືກລະບຸແລ້ວມັນສາມາດເວົ້າໄດ້ຫລືບໍ່?
ຍ້ອນວ່າພຽງແຕ່ການຖະແຫຼງ (var y) ບໍ່ແມ່ນການລະບຸ (=7) ໄດ້ຍົກຂຶ້ນຫາຕອນທີ່ສຸດ。
由于 hoisting,y 在其被使用前已经被声明,但是由于未对初始化进行提升,y 的值仍是未定义。
ຄວາມຈິງ 2 ກໍ່ຄືກັນ:
ຄວາມຈິງ
var x = 5; // ການຈັດຕັ້ງ x var y; // ການອະທິບາຍ y elem = document.getElementById("demo"); // ການຄົ້ນຫາບັນດາວັດຖຸ elem.innerHTML = x + " " + y; // ສະແດງ x ແລະ y y = 7; // ການຈັດຕັ້ງ 7 ສຳລັບ y
ກະລຸນາອະທິບາຍຄວາມສະເຫຼີມຂອງທ່ານໃນຕອນສູງ!
Hoisting (ສຳລັບຜູ້ພັດທະນາຫຼາຍຢ່າງ) ແມ່ນການປະຕິບັດທີ່ບໍ່ເປັນທີ່ຮູ້ຫຼືຖືກສັງເກດຂອງ JavaScript.
ຖ້າຜູ້ພັດທະນາບໍ່ເຂົ້າໃຈການ hoisting, ຄອບຄອບອາດຈະມີບາດບັນຍາ (ບັນຫາ).
ເພື່ອຫລຸດບາດບັນຍາ, ກະລຸນາຍັງຄົງການອະທິບາຍຄວາມສະເຫຼີມທັງໝົດໃນການເລີ່ມຕົ້ນຂອງບັນດາວັດຖຸ.
ຍ້ອນນີ້ນັ້ນກໍ່ແມ່ນວິທີການທີ່ JavaScript ຄົ້ນຫາລວບລວມກິດຈະກຳ, ກະລຸນາຍັງຄົງການບັນລານີ້.
JavaScript ໃນການໃຊ້ບໍ່ມີການອະທິບາຍຄວາມສະເຫຼີມກ່ອນການໃຊ້.
ກະລຸນາສຶກສາພາບດັ່ງກ່າວໃນຫນັງວັນຄັ້ງຫນັງວັນ.use strict。
- ຫລັງການກັບບັນດາວັດຖຸ JS ການຄືນກັບບັນດາວັດຖຸ
- ຫລັງການໜ້າເວັບ ການສະແດງບໍ່ປະກອບຂອງ JS