ຄອມພິວເຕີ, ດໍາເນີນໂຄງການ
JavaScript: ການທໍາງານຂອງການທໍາງານຂອງ. ພາສາການຂຽນໂປຣແກຣມ JS
ຄວາມຄິດເນື້ອໃນການເຄື່ອນໄຫວເພື່ອປະກອບເປັນເວັບໄຊຕ໌ RESOURCES ໄດ້ກາຍເປັນ norm ໄດ້. ຫນ້າຄົງແລະການອອກແບບແມ່ແບບເວັບໄຊຕ໌ທີ່ສຸດສໍາເລັດພາລະກິດຂອງເຂົາເຈົ້າ.
ຢ່າງໃດກໍຕາມ, ເວັບໄຊຕ໌ຊັບພະຍາກອນທີ່ທັນສະໄຫມບໍ່ບໍ່ຈໍາເປັນຕ້ອງໄດ້ຮັບການເປັນຕົວແທນໂດຍທີ່ກໍານົດໄວ້ຂອງຫນ້າທີ່ສ້າງຂຶ້ນໂດຍເຄື່ອງແມ່ຂ່າຍແລະໂຫຼດຫນ້າຈໍຄືນຂອງຕົວທ່ອງເວັບ (JS + AJAX).
repository ເວັບໄຊຕ໌ໃນຂະນະທີ່ມາຮອດຂອງຈໍານວນຜູ້ເຂົ້າໄດ້ສາມາດຈະຄູ່ນ່ຶຂອງຫົວຂໍ້ສໍາລັບການບັນທຶກ, ຂໍ້ຄວາມບາງໃນ«ຫົວ», ສອງສາມແຖວຂອງຂໍ້ກໍານົດໃນ«ຮ່າງກາຍ»ແລະທຸກ. ສ່ວນທີ່ເຫຼືອຂອງ "conceive" ໃນຂະບວນການຂອງຈໍານວນຜູ້ເຂົ້າ - ມັນເປັນເວັບໄຊທີ່ເຫມາະສົມຫລືປາຖນາຢາກຈະເປັນຫນຶ່ງ.
ການຈັດວາງຂອງຄໍາອະທິບາຍແລະທໍາມະຊາດຂອງປະຕິບັດຫນ້າ
опыт, наработаный многими десятилетиями. JavaScript - ມັນເປັນທົດສະວັດທີ່ປະສົບ narabotany. ມັນມີປະຫວັດສາດທີ່ສໍາຄັນຂອງການພັດທະນາ, ທີມງານມີຄຸນວຸດທິພັດທະນາໄຟຟ້າທີ່ທັນສະໄຫມ. ພາສາດຽວກັນຄິດອອກ, ທີ່ເຊື່ອຖືໄດ້, ທີ່ສວຍງາມແລະເຮັດໃຫ້ເປັນໂອກາດທີ່ແທ້ຈິງສໍາລັບການພັດທະນາທີ່ຈະຂຽນລະຫັດສໍາລັບການທີ່ມີກຽດແລະຕົນເອງການປັບປຸງ.
ແນວຄວາມຄິດຂອງຂັ້ນຕອນວິທີການແມ່ນການທໍາງານຂອງທີ່ນີ້ບໍ່ມີຢູ່ໃນຫຼັກການ. ແນ່ນອນວ່າ, ນັກພັດທະນາສາມາດທຸກແຫ່ງຫົນໃນຫນ້າເວັບສະແດງກິ່ງງ່າ code script ທີ່ຈະເຮັດໃຫ້ເຂົ້າໄປໃນມັນແລະມັນຈະໄດ້ຮັບການປະຕິບັດ. страницы? ແຕ່ສິ່ງທີ່ເປັນຈຸດໃນລະຫັດ, ເຊິ່ງແມ່ນປະຕິບັດພຽງແຕ່ຄັ້ງດຽວໃນ: ໃນເວລາທີ່ໂຫລດ (reloading) ຫນ້າແນວໃດ? ແມ່ນມັນເປັນໄປໄດ້ທີ່ຈະກໍານົດໄດ້ຄ່າເລີ່ມຕົ້ນຂອງສິ່ງທີ່ບາງການປ່ຽນແປງສໍາຄັນ.
Script - ສະຖານທີ່ນີ້ເປັນຄໍາອະທິບາຍທີ່ຖືກຕ້ອງຂອງຕົວປ່ຽນແປງແລະຫນ້າທີ່, ແທນທີ່ຈະກ່ວາເປັນສິ້ນດີຂອງລະຫັດລາຍລັກອັກສອນສໍາລັບການ sake ຂອງຕົນເອງ. ມັນເປັນທີ່ກໍານົດໄວ້ຂອງປະຕິບັດຫນ້າທີ່ສໍາຄັນແລະທີ່ສໍາຄັນ, ບາງທີອາດ - ການເຊື່ອມຕໍ່ໂດຍກົງຂອງເຂົາເຈົ້າເຊິ່ງກັນແລະກັນ, ແຕ່ສ່ວນຫຼາຍມັນເປັນການທີ່ແຕກຕ່າງກັນ. ຄໍາອະທິບາຍສະຖານທີ່ຂອງການທໍາງານແລະສະຖານທີ່ຂອງຄໍາຮ້ອງສະຫມັກຂອງຕົນບໍ່ແມ່ນສິ່ງດຽວກັນ.
ມັນບໍ່ແມ່ນມີຄວາມຈໍາເປັນວ່າການທໍາງານຈະເອີ້ນໃຊ້ຟັງຊັນອື່ນໄດ້ໂດຍກົງ, ແຕ່ມັນສາມາດເຮັດໄດ້ໂດຍທາງອ້ອມໂດຍຜ່ານການສ້າງຕັ້ງຂອງລະຫັດແບບເຄື່ອນໄຫວໄດ້. ຈໍານວນຜູ້ເຂົ້າໃຊ້ເວລາການຕັດສິນໃຈພາຍໃນລະຫັດນີ້ແລະເຮັດວຽກຂອງລະບົບທີ່ແຕກຕ່າງກັນທີ່ຂ້ອນຂ້າງ.
ນະໂຍບາຍດ້ານທີ່ເປັນປະໂຫຍດ
ນະໂຍບາຍດ້ານທີ່ເປັນປະໂຫຍດ - ບໍ່ພຽງແຕ່ແລະບໍ່ລົດຍົກຫຼາຍສະນັ້ນມອບຫມາຍໃຫ້ອົງປະກອບຫນ້າທີ່ປະຕິບັດຫນ້າທີ່ປະກອບເປັນອົງປະກອບຂອງຫນ້າເວັບ, ແລະຂອງຕົວຈັດການທັນທີທັນໃດ, ເຊັ່ນດຽວກັນ, ສາມາດມີການປ່ຽນແປງ.
ການດໍາເນີນການໃຊ້ເວລາສະຖານທີ່ໃນຫນ້າເວັບ, ໂດຍອີງຕາມອົງປະກອບແລະການປະພຶດຈໍານວນຜູ້ເຂົ້າກ່ຽວກັບມັນ. ການເຄື່ອນໄຫວຂອງຫນູ, keyboard, ປຸ່ມ, ກົດ, ກິດຈະກໍາ, ລາຍການແລະສະຖານະການອື່ນໆນໍາໄປສູ່ການເປີດປະຕິບັດຫນ້າທີ່ຈໍາເປັນໄດ້.
ຕົ້ນກໍາເນີດມີຄວາມສອດຄ່ອງບໍ່ມີແລະບໍ່ມີຂະຫນານ. ມີການຕອບສະຫນອງຢ່າງພຽງພໍກັບກິດຈະກໍາຂອງເວັບໄຊຕ໌ຊັບພະຍາກອນແມ່ນ. ແນວໃດຕອບສະຫນອງຄວາມໄວ JavaScript ຫນ້າທີ່ໂດຍສະເພາະມັນຂຶ້ນຢູ່ກັບຈໍານວນຫຼາຍດ້ານວິຊາການ (ຄອມພິວເຕີ, ສາຍການສື່ສານ) ແລະ semantic (ຂັ້ນຕອນວິທີຢ່າງມີເຫດຜົນ, ຂົງເຂດວິຊາ, ຊຶ່ງຫມາຍຄວາມວ່າບັນຫາ) ປັດໄຈ.
ໃນຄວາມເປັນຈິງມັນສາມາດ argued ວ່າບາງສິ່ງບາງຢ່າງໄດ້ເຮັດວຽກຢູ່ໃນຂະຫນານ, ແຕ່ບາງສິ່ງບາງຢ່າງຈະເຮັດໃຫ້ພາຍຫຼັງທີ່ບາງສິ່ງບາງຢ່າງ, ແຕ່ຄວາມຫມາຍຂອງພິເສດນີ້ບໍ່ແມ່ນ. ມັນເປັນສິ່ງສໍາຄັນວ່າການທໍາງານ JavaScript - ມັນເປັນໂອກາດໃນການສ້າງການຕອບສະຫນອງຢ່າງພຽງພໍກັບການກະທໍາຂອງຈໍານວນຜູ້ເຂົ້າໄດ້.
ນີ້ແນວຄິດໃຫມ່ໃນການອອກແບບ: ແຈກຢາຍປະມວນຜົນໃນຄວາມເລິກຂອງຕົວທ່ອງເວັບດຽວ!
ໄວຢາກອນສໍາຫລັບຕົວແປແລະປະຕິບັດຫນ້າ
JavaScript, ຕົວປ່ຽນແປງທີ່ຖືກເກັບໄວ້ໃນໂຄດຄໍາສັ່ງ« script », ແລະຢູ່ໃນຮ່າງກາຍຂອງການທໍາງານໄດ້. ຫນ້າທີ່ເຮັດວຽກແມ່ນກໍານົດວິທີການດຽວກັນ. ຄວາມຫມາຍພິເສດໃນການຂຽນໃນການທໍາງານຂອງມີການທໍາງານຂອງຄົນອື່ນ, ແຕ່ມັນອາດຈະມີຄວາມຈໍາເປັນສໍາລັບເຫດຜົນຕ່າງໆ, ແລະມັນແມ່ນຂ້ອນຂ້າງສົມເຫດສົມຜົນ.
ລາຍລະອຽດຂອງການທໍາງານໂດຍທົ່ວໄປແລ້ວຈະເລີ່ມຕົ້ນທີ່ມີຄໍາວ່າ«ຫນ້າທີ່», ຕາມດ້ວຍຊື່ຂອງຕົນ, ບັນຊີລາຍຊື່ຂອງການໂຕ້ຖຽງໃນວົງເລັບ, ຂັ້ນດ້ວຍຈໍ້າຈຸດ, ແລະຮ່າງກາຍຂອງການເຮັດວຽກໃນເຄື່ອງຫມາຍວົງເລັບ.
ໃນຕົວຢ່າງນີ້, ສອງປະຕິບັດຫນ້າທີ່ອະທິບາຍວ່າໃຫ້ AJAX ແລກປ່ຽນເງິນຕາລະຫວ່າງຫນ້າແລະເຄື່ອງແມ່ຂ່າຍ. ສ່ວນຫນຶ່ງແມ່ນ scXHR ອະທິບາຍຂ້າງເທິງນີ້, ເພາະວ່າມີຢູ່ໃນທັງສອງ InitXML, ແລະພາຍໃນ WaitReplySC.
ຊື່ຫນ້າທີ່ແລະພາລາມິເຕີ "ຫນ້າທີ່"
ໄດ້ມີການນໍາສະເຫນີສະບັບ asynchronous ໃນເວລາທີ່ການທໍາງານຂອງ JavaScript ຫນ້າທີ່ຖືກເອີ້ນວ່າຫຼັງຈາກການຕອບສະຫນອງຂອງເຄື່ອງແມ່ຂ່າຍ. ດັ່ງນັ້ນ, ໄດ້ຮັບການຕອບສະຫນອງຈາກເຄື່ອງແມ່ຂ່າຍໄດ້, WaitReplySC ເຂົ້າເຖິງໂຄດຄໍາສັ່ງຫນ້າ, ເຕັມໄປຂໍ້ມູນທີ່ໄດ້ຮັບແລະເຮັດໃຫ້ການເຮັດວຽກອື່ນໆ, ຊຶ່ງກໍອາດເລີ່ມຕົ້ນການຮ້ອງຂໍຕໍ່ກັບເຄື່ອງແມ່ຂ່າຍ.
ໃນທີ່ນີ້ມັນຍັງເປັນສິ່ງສໍາຄັນທີ່ຈະສັງເກດວ່າ WaitReplySC - ຫນ້າທີ່ເປັນ. scXHR.onreadystatechange = WaitReplySC она передается как параметр. ແຕ່ໃນສາຍ scXHR.onreadystatechange = WaitReplySC ມັນແມ່ນຜ່ານການເປັນພາລາມິເຕີ. ນີ້ການອະຫຼັກການທົ່ວໄປທີ່ຈະປະຕິບັດຫນ້າທີ່ອື່ນໆຕາມການກໍານົດການ. ວົງເລັບແຫຼມແລະໃຫ້ພວກເຂົາພາລາມິເຕີຂອງຕົນ (s) - ການທໍາງານຂອງຈະໄດ້ຮັບການປະຕິບັດໃນທັນທີ. ເລົ່າເລື່ອງໂດຍຊື່ເທົ່ານັ້ນ, ດີດັ່ງນັ້ນສິ່ງທີ່. ການທໍາງານຂອງການໂທຈະເຮັດໃຫ້ຫນຶ່ງໃນຜູ້ທີ່ໄດ້ຮັບຊື່ຂອງນາງ.
ການທໍາງານການປະຕິບັດໂດຍຜ່ານ AJAX, ອະນຸຍາດໃຫ້ທ່ານສາມາດໂທຫາການທໍາງານຂອງ JavaScript ຜ່ານຂໍ້ມູນທີ່ໄດ້ຮັບຈາກເຄື່ອງແມ່ຂ່າຍ. ໃນຄວາມເປັນຈິງ, ການສົ່ງການຮ້ອງຂໍໃຫ້ເຄື່ອງແມ່ຂ່າຍ, ຫນຶ່ງຫຼືຄຸນສົມບັດອື່ນໆອາດຈະບໍ່ໄດ້ຢູ່ໃນທັງຫມົດ "ຮູ້" ທີ່ເຮັດວຽກນາງມີອາຍຸ, ແລະມີຂໍ້ມູນຫຍັງບໍ່ໄດ້.
ການທໍາງານຂອງແລະຜົນຂອງຕົນ
ຮ່າງກາຍຂອງການເຄື່ອນໄຫວ, ທ່ານສາມາດຂຽນປະກອບການທຸກໆພາສາ, ຜູ້ທີ່, ໃນຄວາມເປັນຈິງ, ເພາະວ່າມັນມີຈຸດປະສົງ. ຄຸນນະສົມບັດພາຍໃນກໍາລັງການປ່ຽນແປງປະກາດພາຍໃນແລະພາຍນອກ, ແຕ່ບໍ່ແມ່ນຜູ້ທີ່ຖືກອະທິບາຍໃນການເຮັດວຽກອື່ນໆ.
ຖ້າຫາກວ່າທ່ານຕ້ອງການທໍາງານຂອງການເພື່ອກັບຄືນນັ້ນ, ທ່ານສາມາດໃຊ້ຄໍາສັ່ງຄືນ JavaScript: ຜົນຕອບແທນ. ຮ່າງກາຍຂອງການເຄື່ອນໄຫວອາດຈະເປັນຈໍານວນທີ່ພຽງພໍຂອງຂໍ້ກໍານົດກັບຄືນ. ມັນບໍ່ແມ່ນມີຄວາມຈໍາເປັນທີ່ທັງຫມົດຂອງພວກເຂົາຈະກັບຄືນຜົນມາຈາກປະເພດດຽວກັນໄດ້.
ໂດຍປົກກະຕິ, ພັດທະນາໄດ້ຖືກ revered ໂອກາດນີ້ແລະຂຶ້ນຢູ່ກັບສະຖານະການໄດ້, ຕັດສິນໃຈທີ່ຈະຖອນຕົວອອກຈາກການເຄື່ອນໄຫວໃນທັນທີທີ່ເປັນໄປໄດ້.
ມັນບໍ່ແມ່ນມີຄວາມຈໍາເປັນທີ່ຈະດໍາເນີນໄປຈົນບົບທັງຫມົດຂອງການເຮັດວຽກ, ໃນເວລາທີ່ທ່ານສາມາດໄດ້ຮັບອອກກ່ອນຫນ້ານັ້ນ.
ກະທູ້ທີ່ຫນ້າ
ການໂຕ້ຖຽງແມ່ນຜ່ານບັນຊີລາຍຊື່ການທໍາງານ, ຂັ້ນດ້ວຍຈໍ້າຈຸດ, ຖືກຫຸ້ມຢູ່ໃນວົງເລັບ, ແລະມີພຽງແຕ່ຫຼັງຈາກທີ່ຊື່ຂອງນາງ. ການໂຕ້ຖຽງທີ່ໃຊ້ຊື່ຕົວແປ, ແຕ່ວ່າທ່ານສາມາດຜ່ານຄ່າໂດຍກົງ. ຜ່ານການທໍາງານຂອງ JavaScript ໃນຫນ້າທີ່ເປັນ, ທ່ານພຽງແຕ່ຕ້ອງການທີ່ຈະລະບຸຊື່ຂອງຕົນໂດຍບໍ່ມີການວົງເລັບ.
ພາຍໃນການທໍາງານຂອງແມ່ນກະທູ້ທີ່ຕົວແປສາມາດໃຊ້ໄດ້, ຊຶ່ງມີຄຸນສົມບັດຄວາມຍາວໄດ້. ທ່ານສາມາດເບິ່ງທີ່ການທໍາງານຂອງການໂຕ້ຖຽງຜ່ານການໂຕ້ຖຽງ [0], ການໂຕ້ຖຽງ [1], ... ກັບກະທູ້ທີ່ຜ່ານມາ [arguments.length-1].
ການປ່ຽນແປງການທໍາງານຂອງການໂຕ້ຖຽງແມ່ນແທ້ໃນການທໍາງານຂອງແຕ່ບໍ່ໄດ້ຢູ່ນອກມັນ. ໃນຄໍາສັ່ງທີ່ຈະມີການປ່ຽນແປງບາງສິ່ງບາງຢ່າງນອກການເຄື່ອນໄຫວ, ປະຕິບັດການດັ່ງກ່າວຕ້ອງໃຊ້ຄືນ JavaScript, ໂດຍຜ່ານການທີ່ຜ່ານຄ່າທີ່ກໍານົດໄວ້ກັບພາຍນອກ.
ຫຼັງຈາກການເຄື່ອນໄຫວສິ້ນສຸດທັງຫມົດທີ່ມີຄວາມສໍາພັນກັບການປະຕິບັດຂອງຕົນ, ຈະໄດ້ຮັບການທໍາລາຍ. ໃນລະຫວ່າງການປະຕິບັດຂອງການທໍາງານໄດ້ອາດຈະມີການປ່ຽນແປງຕົວແປພາຍນອກ, ຍົກເວັ້ນຜູ້ທີ່ອະທິບາຍໃນຫນ້າທີ່ອື່ນໆ, ລວມທັງຜູ້ທີ່ຢູ່ໃນພາຍໃນ.
ພວກເຮົາມີການໂຕ້ຖຽງຄຸນສົມບັດ callee, ເຊິ່ງມີເປົ້າຫມາຍເພື່ອເອີ້ນໃຊ້ຟັງຊັນທີ່ປະຕິບັດໃນເວລາທີ່ກໍາຫນົດ. ຖ້າຫາກວ່າສາເຫດທີ່ຕົວຂອງມັນເອງ, ສະບັບ JavaScript ຂອງການທໍາງານໃນການເຄື່ອນໄຫວຈະປະຕິບັດ recursion.
ການນໍາໃຊ້ປະຕິບັດຫນ້າ
ຄວາມກັງວົນຕົ້ນຕໍຂອງການເຄື່ອນໄຫວ - ການບໍລິການຂອງຕົວທ່ອງເວັບກໍລະນີ. ເພື່ອເຮັດສິ່ງນີ້ເກືອບທຸກໂຄດຄໍາສັ່ງມີຄວາມສາມາດໃນການລະບຸຊື່ກໍລະນີແລະການທໍາງານຂອງການຜະລິດຂອງຕົນ. ທ່ານສາມາດກໍານົດກິດຈະກໍາທີ່ຫຼາກຫຼາຍ, ແຕ່ໃນແຕ່ລະກໍລະນີລະບຸໄວ້ພຽງແຕ່ຫນຶ່ງຫນ້າ.
ຫນຶ່ງການທໍາງານສາມາດຈັດການອົງປະກອບຫນ້າທີ່ຫຼາກຫຼາຍແລະກິດຈະກໍາຈໍານວນຫນ້ອຍຫນຶ່ງ. ໂດຍຜ່ານທາງເລືອກ«ນີ້», ທ່ານສາມາດໂອນການທໍາງານຂອງຂໍ້ມູນຂ່າວສານທີ່ມັນຖືກເອີ້ນ.
ການນໍາໃຊ້ຄລາສສິກຂອງ JS, ປະຕິບັດຫນ້າ - ການຈັດການເຫດການກ່ຽວກັບອົງປະກອບທີ່. ໃນຕົວຢ່າງນີ້ scfWecomeGo () ການທໍາງານຫຼື scfWelcomeCancel () ຖືກເອີ້ນວ່າຢູ່ໃນຮູບແບບວັດສະດຸປ້ອນ / ຜົນຜະລິດຂອງຈໍານວນຜູ້ເຂົ້າ, ແລະໃນເວລາທີ່ເລືອກຮູບແບບປະຕິບັດການ scfMenuItemClick (ນີ້).
ໃນກໍລະນີສຸດທ້າຍ, ຕົວກໍານົດການຜ່ານໄປ«ນີ້», ເຊິ່ງອະນຸຍາດໃຫ້ທ່ານທີ່ຈະອັດສະຈັນຮຽນຮູ້ຈາກສິ່ງທີ່ເປັນ diva ໄດ້ເອີ້ນວ່າ. ຕົວຈິງແລ້ວ, JavaScript ແມ່ນສະນັ້ນການປູກຝັງຄຸນນະພາບໃນການ DOM, ແລະມັນໄດ້ຖືກສະນັ້ນເພື່ອຄວາມສະດວກອະນຸຍາດໃຫ້ທ່ານສາມາດທ່ອງອົງປະກອບຂອງຕົນ, ການເກັບກໍາຂໍ້ມູນຂ່າວສານທີ່ຈໍາເປັນທີ່ນະໂຍບາຍດ້ານຫນ້າສາມາດເປັນບໍ່ແນ່ນອນ.
ການທໍາງານຂອງບໍ່ບໍ່ຈໍາເປັນຕ້ອງກັບຄືນສະຕິງ, ຈໍານວນ, ຫຼືການທໍາງານອື່ນໆ. ມັນສາມາດກັບຄືນຢ່າງເຕັມທີ່ HTML, ອົງປະກອບ, ແລະຊຶ່ງເປັນຈໍານວນທີ່ກໍານົດໄວ້ຂອງອົງປະກອບ, ທີ່ມີຕົວຈັດການຂອງເຂົາເຈົ້າ, ກິດຈະກໍາຂອງເຂົາເຈົ້າ.
ໂດຍອີງໃສ່ພູມອົງປະກອບໃນຫນ້າທີ່, ນັກພັດທະນາສ້າງການທໍາງານໃຫມ່ທີ່ດີໃນຂໍ້ກໍານົດຂອງການແກ້ໄຂບັນຫາແລະຕອບສະຫນອງຜົນປະໂຫຍດຂອງນັກທ່ອງທ່ຽວໄດ້, ແຕ່ມີຄວາມຫຍຸ້ງຍາກໃນການປະຕິບັດ.
ເນື່ອງຈາກວ່າການພັດທະນາດັ່ງກ່າວເປັນປະໂຫຍດຢ່າງເຕັມສ່ວນ, ງ່າຍທີ່ຈະໄດ້ຮັບການສູນເສຍໃນລະຫັດພື້ນເມືອງ, ໃນການໂທຫນ້າທີ່, ໃນປັດຈຸບັນໃນເວລາທີ່ການສ້າງຕັ້ງຂຶ້ນຫຼືວ່າເນື້ອໃນຂອງຫນຶ່ງຫຼືອື່ນຂອງຫນ້າເວັບ. ກ່ອນທີ່ຈະເຮັດຕາມຫນ້າທາງຂອງການພັດທະນາ, ບໍ່ແມ່ນອຸປະສັກທີ່ເປັນທີ່ມີນ້ໍາຫນັກທຸກສິ່ງທຸກຢ່າງ.
ໃນການແຈກແຈງຄິດໄດ້
ການພັດທະນາໄດ້ຄິດວ່າຢູ່ໃນລະດັບຂອງອົງປະກອບທັງຫມົດຂອງຫນ້າທີ່ກິດຈະກໍາທັງຫມົດ, ແລະມີການນໍາສະເຫນີທີ່ຈະແຈ້ງຂອງວິທີການທຸກສິ່ງທຸກຢ່າງເກີດຂຶ້ນແທ້ຈິງ. ມັນເປັນການຍາກ, ແຕ່ການເຮັດວຽກທີ່ມີມູນຄ່າມັນ.
ໃນ JavaScript, ການທໍາງານຂອງອາດຈະຖືກຊັກຊ້າຈົນກ່ວາກໍລະນີບາງ, ແລະຄຸນນະສົມບັດດັ່ງກ່າວອາດຈະຈໍານວນຫຼາຍ, ແລະກິດຈະກໍາມີແນວໂນ້ມທີ່ຈະເຜີຍແຜ່ແລະໄດ້ຮັບເຂົ້າໄປໃນ "ຂອບເຂດຂອງການເບິ່ງເຫັນ" ໂຮງງານຜະລິດຕ່າງໆໄດ້.
ໃນຕົວຢ່າງນີ້, somewhere ກ່ອນການທໍາງານຂອງໄດ້ເອີ້ນວ່າ, ເຊິ່ງໄດ້ລິເລີ່ມເປັນເມນູນໍາທິດໄຟລ໌ລາຍການ. ມັນໄດ້ຖືກຄາດເພດ, ທີ່ເປັນຢູ່ໃນປ່ອງຢ້ຽມພຽງແຕ່ເຈັດໄຟລ໌, ເຊິ່ງສາມາດໄດ້ຮັບການໂຍກຍ້າຍອອກແລະການປຸງແຕ່ງ. ສາມາດໄດ້ຮັບການຍົກຍ້າຍເປັນເອກະສານໂດຍການຄລິກໃສ່ການຕິດຕໍ່ກັນ, ແລະໃຊ້ລູກສອນແລະບລັອກຂອງເຈັດແຖວເກັດທີ່ຢູ່.
ໃນແຕ່ລະກໍລະນີມີການທໍາງານຂອງຕົນເອງ. ໃນຄໍາສັບຕ່າງໆອື່ນໆ, ໃນຕົວຢ່າງງ່າຍດາຍດັ່ງກ່າວນີ້, ທ່ານຈໍາເປັນຕ້ອງໄດ້ຂຽນຄູ່ຜົວເມຍຂອງອາຍແກັສຂອງຄຸນນະສົມບັດທີ່ຈະຕອບສະຫນອງຕໍ່ເຫດການຕ່າງໆ, ແລະບາງສ່ວນຂອງການເຮັດວຽກເຫລົ່ານີ້ຈະຈັດການແນວພັນຂອງທາງເລືອກໃນການແລະສະຖານະການທີ່ກອງປະຊຸມບໍ່ໄດ້ເປັນ.
ສໍາລັບຕົວຢ່າງ, ໃນເວລາທີ່ຖອນເສັ້ນທາງລຸ່ມຕ້ອງໄດ້ຮັບການຍົກຍ້າຍຈັດສັນນະເທິງ. ນີ້ຈະຮຽກຮ້ອງໃຫ້ບໍ່ວ່າຈະເຮັດໃຫ້ເປັນການຄັດເລືອກໃຫມ່ທີ່ commonplace ຢ່າງຊັດເຈນແລະຊັບພະຍາກອນ, ຫຼືເພື່ອໃຫ້ນັບສາຍ, ໃຊ້ຟັງຊັນ javascript ໃນ array ແລະເພື່ອບັນລຸເປົ້າຫມາຍທີ່ສະຫງ່າງາມ.
ການໂຕ້ຖຽງແລະຜົນໄດ້ຮັບຂອງການເຮັດວຽກ
JavaScript ອະນຸຍາດໃຫ້ທ່ານເອົາມາໃຫ້ລະຫັດທີ່ຈະໄດ້ "ເຕັມໃຫມ່" ສະຖານະພາບ. ຕາມປົກກະຕິ, ໃນເວລາທີ່ການໂຕ້ຖຽງຂອງການທໍາງານຂອງແມ່ນການເຄື່ອນໄຫວ. ເລືອກອະນຸຍາດ, ການທໍາງານຂອງຜົນໄດ້ຮັບຫນ້າທີ່ເປັນ. JavaScript ໃຊ້ເວລາມັນຂ້ອນຂ້າງ calmly.
ນີ້ເປັນກົນໄກທີ່ດີ, ແຕ່ແທນທີ່ຈະຊັບຊ້ອນທີ່ກ່ຽວຂ້ອງກັບການປະຕິບັດ. ດ້ານວິຊາການອະນຸຍາດຫມາຍໃຫ້ "ທີ່ເປັນປະໂຫຍດ" ລະບົບສາຍສົ່ງຢ່າງມີເຫດຜົນພຽງແຕ່ໂດຍນັກພັດທະນາຄຸນສົມບັດ.
ໃນເວລາທີ່ການທໍາງານຂອງ JavaScript ໃນການທໍາງານ - ສິດທັງຫມົດ, ແຕ່ໃນເວລາການທໍາງານຂອງການສ້າງການທໍາງານຂອງ, ແລະທີ່ອື່ນ, ເຫດຜົນທີ່ຄ່ອນຂ້າງມີຄວາມຫຍຸ້ງຍາກທີ່ຈະປະຕິບັດຕາມ. ໃນຄວາມເປັນຈິງ, ຄໍາຖາມແມ່ນບໍ່ວ່າການທີ່ຈະສະຫມັກຂໍເອົາຄວາມສາມາດໄດ້, ຄໍາຖາມແມ່ນຈະໄດ້ຮັບຜົນຄວາມປອດໄພແລະຖືກຕ້ອງ.
ການດູແລການພັດທະນາເປັນທີ່ຈະແຈ້ງແລະງ່າຍດາຍ. ມີບັນຫາແມ່ນ, ທ່ານຕ້ອງການແກ້ໄຂ, ບໍ່ແມ່ນຂໍ້ບົກພ່ອງເຊັ່ນ«ຄວາມຜິດພາດ JavaScript ການດໍາເນີນການບໍ່ໄດ້ປອດໄພ» , ຫນ້າຈໍຫວ່າງຫລືຢຸດເຄື່ອງຈັກຂອງຕົວທ່ອງເວັບທັງຫມົດ.
ຖ້າຫາກວ່າການໂຕ້ຖຽງແມ່ນການທໍາງານຂອງ, ຫຼັງຈາກນັ້ນການພັດທະນາໃນການຜ່ານຕົວແປກັບຄຸນສົມບັດພິເສດເປັນ, ທີ່ບໍ່ແມ່ນຈໍານວນບໍ່ string, ບໍ່ແມ່ນຈຸດປະສົງທີ່. ແຕ່ການນໍາໃຊ້ຂອງດັ່ງກ່າວການໂຕ້ຖຽງສາມາດນໍາໄປສູ່ການຄວາມຈິງທີ່ວ່າມີການປ່ຽນແປງຕົວແປພາຍນອກແລະເປັນຜົນມາຈາກການປະຕິບັດຫນ້າທີ່ໄດ້. ໂດຍອີງຕາມການປ່ຽນແປງທີ່ຈະພຽງພໍໂອນ.
ການບໍລິຫານຂອງການເກີດລີພິດ
ປະຕິບັດລະຫັດການປະຕິບັດນີ້ສ້າງຂຶ້ນໃນໄລຍະການເຮັດວຽກລະຫັດຫນຶ່ງ, ມັນເປັນໄປໄດ້ໂດຍວິທີການຂອງ« eval ». ມັນບໍ່ໄດ້ຖືກພິຈາລະນາທີ່ຈະເປັນການແກ້ໄຂທີ່ດີເລີດ, ແຕ່ມັກຈະບໍ່ສາມາດ complicate ລະຫັດທີ່ມີການເຮັດວຽກທີ່ບໍ່ຈໍາເປັນ, ແລະເພື່ອຈໍາກັດການສ້າງຕັ້ງຂອງເສັ້ນ trivial ຂອງລະຫັດ JavaScript ແລະພຽງແຕ່ປະຕິບັດມັນ.
ໃນຕົວຢ່າງນີ້, ໃສ່ໄດ້ຖືກສ້າງຕັ້ງຂຶ້ນ stitch ເປັນ div ຕິບັດການຂໍ້ມູນຂ່າວສານຈໍານວນຫນຶ່ງ. Diva ແລະເນື້ອໃນຂໍ້ມູນຂ່າວສານສໍາລັບການຈໍານວນທີ່ແຕກຕ່າງກັນຂອງຕໍາແຫນ່ງທີ່ແຕກຕ່າງກັນ, ເນື່ອງຈາກວ່າການຕັດສິນໃຈໃນສະຖານະການນີ້ບໍ່ໄດ້ສະຫນອງສະຖານະການການຮັບປະກັນ« javascript ຄວາມຜິດພາດການດໍາເນີນການບໍ່ໄດ້ປອດໄພ» , ແຕ່ຢ່າງຫນັກແຫນ້ນໃຫ້ຜົນກະທົບທີ່ຕ້ອງການ.
Nuance JavaScript paradigm shift "ທໍາງານຢູ່ໃນການທໍາງານຂອງ"
ຖ້າຫາກວ່າທ່ານສາມາດເຮັດໄດ້ໂດຍບໍ່ມີການ frills ໄດ້, ມັນເປັນທີ່ດີກວ່າທີ່ຈະນໍາໃຊ້ມັນ. ທັງຫມົດຂອງທາງເລືອກໃນການເຫຼົ່ານີ້ແມ່ນດີ. ແນ່ນອນວ່າ, ໃນຈໍານວນຫຼາຍກໍລະນີ, ມັນເປັນການແກ້ໄຂເທົ່ານັ້ນ.
A ຍົກຕົວຢ່າງຄລາສສິກຂອງ recursion: ການ factorial. ມັນເປັນການຍາກພຽງພໍທີ່ຈະຂຽນຂັ້ນຕອນວິທີທີ່ຈະ loop ເປັນ, ແຕ່ວ່າມັນແມ່ນງ່າຍດາຍຫຼາຍ, ທ່ານສາມາດຍູ້ຄ່າ envelope ໄດ້. ປັດໄຈການຂະຫຍາຍຕົວໄວເກີນໄປ.
ຢ່າງໃດກໍຕາມ, recursion, ແລະຫນ້າທີ່ເອີ້ນຟັງຊັນອື່ນທີ່ສາມາດເຮັດໃຫ້ຂໍ້ມູນການເອີ້ນ - ສິ່ງທີ່ປົກກະຕິ.
ສໍາລັບຕົວຢ່າງ, ເປັນຕາຕະລາງປົກກະຕິ. ການຕາຕະລາງອື່ນໆອາດຈະມີຕາຕະລາງໄດ້. ຮັງບໍ່ສາມາດໄດ້ຮັບການຈໍາກັດ. ຂຽນສໍາລັບແຕ່ລະຕາຕະລາງທີ່ກໍານົດໄວ້ຂອງຕົນເອງຂອງຄຸນນະສົມບັດ - ຟຸ່ມເຟືອຍຫຼາຍເກີນໄປ.
ຕົວຢ່າງດັ່ງກ່າວເປັນຈໍານວນຫລາຍ, ແລະທັງຫມົດນີ້ຈະເປັນບັນຫາທີ່ແທ້ຈິງແລະການອັນຮີບດ່ວນ, ບໍ່ແມ່ນຍ້ອນການດໍາເນີນໂຄງການ. ນັ້ນຄືເຫດຜົນບັນຫາທີ່ຈະເຣັດໄດ້ໃນຄວາມຈິງທີ່ວ່າບໍ່ມີ, frills ບໍ່ໄດ້ສ້າງຕັ້ງຂຶ້ນລະບົບຂອງປະຕິບັດຫນ້າທີ່, ຫຼາຍທີ່ຊັດເຈນ, debugging ແລະການດໍາເນີນງານທີ່ເຊື່ອຖືໄດ້ຕໍ່ໄປຂອງຕົນຈະກາຍເປັນການດູແລ JavaScript, ແລະພັດທະນາ.
Similar articles
Trending Now