ການກໍານົດຫຍັງວິຊາ Function ECMAScript
- ຫົນຫຍໍ້ຫລັງ ຄຳສັ່ງ switch
- ຫົນຕໍ່ໄປ ບັນດາບັນຊີ arguments
ຫຍັງຕົວອາວຸດ?
ຕົວອາວຸດແມ່ນກຸ່ມລະຫັດທີ່ສາມາດດຳເນີນຢູ່ທຸກທີ່.
ຕົວອາວຸດແມ່ນສະຖານະຖານຂອງ ECMAScript.
ຕົວອາວຸດແມ່ນຖືກສະເໜີໂດຍວິທີດັ່ງກ່າວ: ສະເຫນັກການ function, ຊື່ຕົວອາວຸດ, ກຸ່ມຫຼາຍຫຼຽນ, ແລະລະຫັດທີ່ຈະດຳເນີນຢູ່ພາຍໃນຕົວເຂດ.
ສິ່ງພິມສັບພາສາປະຈຳຕົວອາວຸດນີ້ຕາມການດັ່ງກ່າວ:
function functionName(arg0, arg1, ... argN) { statements }
ຕົວຢ່າງ:
function sayHi(sName, sMessage) { alert("Hello " + sName + sMessage); }
ບວກການເອິ້ນຕົວອາວຸດຫນື່ງຫນື່ງ?
ຕົວອາວຸດສາມາດເອິ້ນໂດຍຊື່ຕົວອາວຸດແລະຂັດຂາວຢູ່ພາຍໃນຕົວເຂດ, ຖ້າມີຫຼາຍຫຼຽນ.
ຖ້າທ່ານຕ້ອງການເອິ້ນຕົວອາວຸດດັ່ງກ່າວ, ທ່ານສາມາດໃຊ້ລະຫັດດັ່ງກ່າວ:
sayHi("David", " Nice to meet you!")
ການເອິ້ນຕົວອາວຸດ sayHi() ຈະສ້າງປ່ອງເຕືອນການເຕືອນ. ທ່ານສາມາດ亲自试一试这个例子.
ການສະໜອງຄວາມຜູກມັດຂອງການສະໜອງຄວາມຜູກມັດ?
ການສະໜອງຄວາມຜູກມັດຂອງ sayHi() ບໍ່ມີຄວາມຜູກມັດ ແຕ່ບໍ່ຈະຕ້ອງລະບຸຢ່າງຈະແຈ້ງ (ເພື່ອນັ້ນ ໃນ Java).
ເຖິງວ່າພວກມັນມີຄວາມຜູກມັດ ບໍ່ຈະຕ້ອງລະບຸຢ່າງຈະແຈ້ງ. ພວກມັນພຽງແຕ່ຕ້ອງໃຊ້ຄຳສັ່ງ return ຕາມຫລັງຄຳສັ່ງຜູກມັດ.
function sum(iNum1, iNum2) { return iNum1 + iNum2; }
ການສະໜອງຄວາມຜູກມັດຂອງ sum ຕົວຢ່າງນີ້:
var iResult = sum(1,1); alert(iResult); //ການສະແດງ "2"
ອີກຄວາມສໍາຄັນໜຶ່ງແມ່ນ, ຄືກັບທີ່ໃນ Java, ການສຳເລັດຄຳສັ່ງ return ຈະຢຸດການດຳເນີນຄຳສັ່ງຫລັງຈາກການດຳເນີນ. ເພື່ອນັ້ນ ຄຳສັ່ງຫລັງຈາກຄຳສັ່ງ return ຈະບໍ່ຖືກດຳເນີນ.
ຕົວຢ່າງ, ຖ້າການສະແດງ alert ຈະບໍ່ສະແດງ.
function sum(iNum1, iNum2) { return iNum1 + iNum2; alert(iNum1 + iNum2); }
ບັນດາບັນຊີ return ສາມາດມີຫລາຍຄັ້ງໃນພວກມັນ ຕາມນີ້:
function diff(iNum1, iNum2) { if (iNum1 > iNum2) { return iNum1 - iNum2; } return iNum2 - iNum1; } }
ການສະໜອງບັນດາການຂອງຕົວຢ່າງນີ້ ໃຊ້ເພື່ອກັບຄືນຄວາມສຳພັນຂອງສອງຈຳນວນ. ເພື່ອການດັ່ງກ່າວນີ້ ຕ້ອງໃຊ້ຄຳສັ່ງ if ເພື່ອຕັດສິນວ່າຈະດຳເນີນຄຳສັ່ງ return.
ຖ້າພວກມັນບໍ່ມີຄວາມຜູກມັດທີ່ຈະກັບຄືນ ພວກເຮົາສາມາດເອີ້ນຄຳສັ່ງ return ບໍ່ມີປະເພດຄຳສັ່ງ ແລະ ອອກຈາກພວກມັນບໍ່ມີຄວາມຜູກມັດ.
ຕົວຢ່າງ:
function sayHi(sMessage) { if (sMessage == "bye") { return; } alert(sMessage); }
ບັນດາກິສບັນນາທິການນີ້ ຖ້າ sMessage ແມ່ນ "bye" ຈະບໍ່ສະແດງຖະແຫຼງເຕືອນ.
ສັບສຳນັກງານ:ຖ້າພວກມັນບໍ່ມີຄວາມຜູກມັດທີ່ຈະກັບຄືນຫລືຫາກລະບຸຄຳສັ່ງ return ບໍ່ມີປະເພດຄຳສັ່ງ ພວກມັນຈະກັບຄືນ undefined.
- ຫົນຫຍໍ້ຫລັງ ຄຳສັ່ງ switch
- ຫົນຕໍ່ໄປ ບັນດາບັນຊີ arguments