ການຄວາມກຳລັງບັນຍາບັນນາທິການ JavaScript
- ກັບຄືນຫນື່ງ JS ການເກີດຂອງຄວາມຜິດພາດ
- ກັບຄືນຫນື່ງ JS Hoisting
作用域指的是您有权访问的变量集合。
ພາກສ່ວນທິດສະຫຼະວິກິ JavaScript
ໃນ JavaScript ມີສອງຕົວລະຄອນທິດສະຫຼະ:
- ພາກສ່ວນທິດສະຫຼະທິດສະຫຼະ
- ພາກສ່ວນທິດສະຫຼະທົ່ວໄປ
JavaScript ມີພາກສ່ວນທິດສະຫຼະວິກິ: ແຕ່ລະວິກິຈະສ້າງພາກສ່ວນທິດສະຫຼະໃຫມ່.
ພາກສ່ວນທີ່ກຳນົດສະໜາມມີຄວາມສາມາດເຂົ້າເຖິງ (ຄວາມເຫັນ).
ປະເພດທີ່ຖືກກໍ່ຕັ້ງພາຍໃນການປະຕິບັດການຈະບໍ່ສາມາດເຂົ້າເຖິງຈາກພາຍອອກການປະຕິບັດການ (ບໍ່ເຫັນ).
ປະເພດ JavaScript ທິດສະຫຼະ
ປະເພດທີ່ຖືກຖະແຫຼງໃນການປະຕິບັດການຂອງວິກິ JavaScript ຈະກາຍເປັນປະເພດທິດສະຫຼະ。
ພາກສ່ວນທີ່ກຳນົດສະໜາມຂອງປະເພດທິດສະຫຼະທິດສະຫຼະ:ສາມາດເຂົ້າເຖິງພຽງແຕ່ພາຍໃນການປະຕິບັດການ.
ຄວາມຈິງ
// ການສັນຍານນີ້ບໍ່ສາມາດນຳໃຊ້ປະເພດ carName function myFunction() { var carName = "porsche"; // ການສັນຍານນີ້ສາມາດນຳໃຊ້ປະເພດ carName }
ເພາະສາມາດພິຈາລະນາປະເພດທິດສະຫຼະພາຍໃນການປະຕິບັດການພຽງແຕ່ພາຍໃນການປະຕິບັດການຈະສາມາດໃຊ້ປະເພດຊື່ດຽວກັນໃນການປະຕິບັດການຕ່າງກັນ.
ປະເພດທີ່ຖືກກໍ່ຕັ້ງພາຍໃນການປະຕິບັດການຈະຖືກລົບລ້າງລົງໃນບໍ່ມີການປະຕິບັດການ.
ປະເພດ JavaScript ທົ່ວໄປ
ປະເພດທີ່ຖືກຖະແຫຼງພາຍອອກຈາກການປະຕິບັດການຈະກາຍເປັນປະເພດທົ່ວໄປ。
ພາກສ່ວນທີ່ກຳນົດສະໜາມຂອງປະເພດທົ່ວໄປທົ່ວໄປ:ບັນດາກິດຈະກຳ ແລະ ການປະຕິບັດການທັງໝົດຂອງເວັບໄຊສາມາດເຂົ້າເຖິງມັນ.
ຄວາມຈິງ
var carName = " porsche"; // ການສັນຍານກິດຈະກຳນີ້ສາມາດນຳໃຊ້ປະເພດ carName function myFunction() { // ການສັນຍານນີ້ສາມາດນຳໃຊ້ປະເພດ carName }
ສະຫລາດ JavaScript
ໃນ JavaScript, ບັນດາວັດຖຸ ແລະ ການປະຕິບັດການກໍ່ແມ່ນປະເພດ.
ພາກສ່ວນທີ່ກຳນົດສະໜາມມີຄວາມສາມາດເຂົ້າເຖິງປະເພດ, ບັນດາວັດຖຸ ແລະ ການປະຕິບັດການຈາກພາກສ່ວນທີ່ຕ່າງກັນຂອງກິດຈະກຳ.
ທົ່ວໄປອັດຕະພາບ
ຖ້າເຈົ້າຈະຈັດຕັ້ງປະເພດທີ່ຍັງບໍ່ຖືກຖະແຫຼງແລ້ວຈະກາຍເປັນທົ່ວໄປປະເພດ。
ການສັນຍານນີ້ຈະຖະແຫຼງປະເພດທົ່ວໄປ carName ເຖິງວ່າມີການຈັດຕັ້ງພາຍໃນການປະຕິບັດການ.
ຄວາມຈິງ
myFunction(); // ການສັນຍານກິດຈະກຳນີ້ສາມາດນຳໃຊ້ປະເພດ carName function myFunction() { carName = "porsche"; }
严格模式
所有现代浏览器都支持以“严格模式”运行 JavaScript。
您将在本教程稍后的章节学习更多如何使用严格模式的知识。
在“严格模式”中不会自动创建全局变量。
HTML 中的全局变量
通过 JavaScript,全局作用域形成了完整的 JavaScript 环境。
ໃນ HTML, ຄວາມພາກສ່ວນທົ່ວໄປຈະແມ່ນ window. ຄວາມພາກສ່ວນທົ່ວໄປທັງໝົດແມ່ນວັດຖຸ window.
ຄວາມຈິງ
var carName = "porsche"; // ຄວາມສັນຍານຂອງລວັກຂອງການກະຈາຍ window.carName
ການແຈ້ງ
ບໍ່ຂໍ້ມູນໃດກໍ່ຕາມ, ບໍ່ຂໍ້ມູນທົ່ວໄປ.
ຄວາມພາກສ່ວນທົ່ວໄປຂອງທ່ານ (ຫຼືການກະຈາຍ) ສາມາດປົດປ່ອຍຄວາມພາກສ່ວນທົ່ວໄປ (ຫຼືການກະຈາຍ) window (ຫຼືການກະຈາຍ).
ພະຍາຍາມໃດໆທັງໝົດ ລວມທັງວັດຖຸ window, ສາມາດປົດປ່ອຍຄວາມພາກສ່ວນທົ່ວໄປຂອງທ່ານ ແລະ ການກະຈາຍ.
ຄວາມພາກສ່ວນທີ່ຂອງ JavaScript
ຄວາມພາກສ່ວນທີ່ຂອງ JavaScript ຈະເລີ່ມຕົ້ນຈາກມື້ທີ່ມັນຖືກສ້າງ.
ຄວາມພາກສ່ວນທີ່ພາຍໃນການການກະຈາຍຈະຖືກລຶບໃນບາງຄັ້ງຫນັງທີ່ການການກະຈາຍສຳເລັດ.
ຄວາມພາກສ່ວນທົ່ວໄປຈະຖືກລຶບຈາກຫນັງໃນບາງຄັ້ງຫນັງທີ່ທ່ານປິດໜ້າເວັບໄຊ.
ຄວາມພາກສ່ວນຂອງການສັງເກດ
ຄວາມພາກສ່ວນຂອງການສັງເກດພະຍາຍາມກໍ່ແມ່ນຄວາມພາກສ່ວນພາຍໃນການສັງເກດ.
- ກັບຄືນຫນື່ງ JS ການເກີດຂອງຄວາມຜິດພາດ
- ກັບຄືນຫນື່ງ JS Hoisting