ການດຳເນີນການບົດສະຫ�ະທີ່ມີສິບ ECMAScript

ໃນສະພາບການຄົ້ນຄວ້າຫຼາຍຫຼາຍວິທະຍາສາດໄດ້ຄືກັບຄຳນັກພິຈາລະນາຕື່ມ (ຫຼືການຫຼຸດຫຼາຍ):

ໃນ ECMAScript ຄຳນັກພິຈາລະນາຕື່ມມີພາລະກິດທີ່ປະສົງກະພັນຫຼາຍຫຼາຍ.

ຄຳນັກພິຈາລະນາຕື່ມ:

ຄຳນັກພິຈາລະນາຄືກັບສັບສິນ (+):

var iResult = 1 + 2

ຄືກັບການການຄັດຄ້າຍຜະລິດລະບົບຄຳນັກພິຈາລະນາລະບົບ ECMAScript ມີພາລະກິດທີ່ປະສົງກະພັນຫຼາຍຫຼາຍ:

  • ຖ້າບາງຈຳນວນແມ່ນ NaN, ຜົນຈະເປັນ NaN.
  • -Infinity ຕັດ -Infinity ມີຜົນເປັນ -Infinity。
  • Infinity ຕັດ -Infinity ມີຜົນເປັນ NaN。
  • +0 加 +0,结果为 +0。
  • -0 加 +0,结果为 +0。
  • -0 ຕອບ -0, ຜົນຈະເປັນ -0.

ແຕ່ຖ້າບາງຈຳນວນແມ່ນຄຳລະບຸ, ຈະເປັນຕາມຕາມກົດລະບຽບນີ້:

  • ຖ້າຈຳນວນທັງສອງແມ່ນຄຳລະບຸ, ຈະຕິດຄຳລະບຸທີສອງເຂົ້າຫາຄຳລະບຸທີໜຶ່ງ.
  • ຖ້າມີພຽງໜຶ່ງຈຳນວນແມ່ນຄຳລະບຸ, ຈະປ່ຽນຈຳນວນອື່ນເປັນຄຳລະບຸ, ຜົນຈະເປັນຄຳລະບຸທີ່ສະແດງຕາມລຳດັບ.

ຕົ້ນມາ:

var result = 5 + 5;	//ເລກ
alert(result);		//ອອກພາບ "10"
var result2 = 5 + "5";	//ເລກ ແລະ ຄຳລະບຸ
alert(result2);		//ອອກພາບ "55"

ລະບຽບນີ້ສະແດງຄວາມແຕກຕ່າງລະຫວ່າງສອງຮູບແບບຂອງສັນຍາຕອບສະໜອງ. ໃນການນຳໃຊ້ທຳມະດາ, 5+5 ຈະເປັນ 10 (ຈຳນວນຕົ້ນ), ຄືກັບການນຳໃຊ້ນັ້ນ. ແຕ່ຖ້າປ່ຽນໜຶ່ງຈຳນວນເປັນຄຳລະບຸ "5", ຜົນຈະເປັນ "55" (ຈຳນວນຕົ້ນຄຳລະບຸ), ຍ້ອນບາງຈຳນວນອື່ນຈະຖືກປ່ຽນເປັນຄຳລະບຸ.

ຄວາມເຫັນ:ເພື່ອຫຼີກລ່ຽງຄວາມຜິດທາງທີ່ຫຼາຍພາຍໃນ JavaScript, ຕ້ອງກວດກາຂອງການນຳໃຊ້ສັນຍາຕອບສະໜອງຫລາຍ:

ສັນຍາການຫຼຸດ

ສັນຍາການຫຼຸດ (-), ກໍ່ແມ່ນສັນຍາທີ່ນຳໃຊ້ຫລາຍ:

var iResult = 2 - 1;

ຄືກັບການສົມພັນທາງການຕອບສະໜອງ, ການສົມພັນທາງການຫຼຸດມີບາງພາລະກິດພິເສດ:

  • ຖ້າບາງຈຳນວນແມ່ນ NaN, ຜົນຈະເປັນ NaN.
  • Infinity ຫຼຸດ Infinity, ຜົນຈະເປັນ NaN.
  • -Infinity ຫຼຸດ -Infinity, ຜົນຈະເປັນ NaN.
  • Infinity ຫຼຸດ -Infinity, ຜົນຈະເປັນ Infinity.
  • -Infinity ຫຼຸດ Infinity, ຜົນຈະເປັນ -Infinity.
  • +0 ຫຼຸດ +0, ຜົນຈະເປັນ +0.
  • -0 ຫຼຸດ -0, ຜົນຈະເປັນ -0.
  • +0 ຫຼຸດ -0, ຜົນຈະເປັນ +0.
  • ຖ້າບາງສັນຍານບໍ່ແມ່ນເລກ, ຜົນຈະເປັນ NaN.

ຄວາມເຫັນ:ຖ້າຈຳນວນທີ່ນຳໃຊ້ແມ່ນເລກ, ຈະດຳເນີນການການຫຼຸດຄຳທຳມະດາ ແລະ ກັບຄືນຜົນ.