ການກໍານົດຫຍັງວິຊາ Function ECMAScript

ຫຍັງຕົວອາວຸດ?

ຕົວອາວຸດແມ່ນກຸ່ມລະຫັດທີ່ສາມາດດຳເນີນຢູ່ທຸກທີ່.

ຕົວອາວຸດແມ່ນສະຖານະຖານຂອງ 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.