ການປະຕິບັດພື້ນຖານ JavaScript
- ຫນ້າຫນັງກ່ອນ ການອອກສັນຍາ JS ຮູບແບບ
- ຫນ້າຫນັງ ການອອກສັນຍາ JS
ຂໍ້ສະເໜີວ່າຫຼຸດຄວາມນຳໃຊ້ຄູ່ມືສາກົນnew
、=====
、eval()
ຫຼຸດຄວາມນຳໃຊ້ຄູ່ມືສາກົນ
ຂໍ້ສະເໜີວ່ານຳໃຊ້ຄູ່ມືສາກົນຫຼາຍຢ່າງຫຼາຍ
ລວມທັງທຸກຊະນິດຂອງຂໍ້ມູນທຸກຊະນິດແລະວິການ
ຄູ່ມືສາກົນແລະວິການກວດສອບສາມາດຖືກປົກປັກຮັບໂດຍຄືນລິກະສັບຫຼືວິການອື່ນ
ກຳລັງນຳໃຊ້ຄູ່ມືທີ່ຢູ່ພາຍໃນພາກພື້ນແທນບໍ່ມີຄູ່ມືສາກົນແລະຮຽນການນຳໃຊ້ຄູ່ມືທີ່ຢູ່ພາຍໃນພາກພື້ນ。
ປະກາດຄູ່ມືທີ່ຢູ່ພາຍໃນພາກພື້ນຕໍ່ຕໍ່
ທຸກຄູ່ມືທີ່ນຳໃຊ້ໃນພາກພື້ນວິການຄວນຖືກປະກາດທີ່ຢູ່ພາຍໃນພາກພື້ນຄູ່ມື
ຄູ່ມືທີ່ຢູ່ພາຍໃນພາກພື້ນຕ້ອງເພື່ອ var ທີ່ຈະປະກາດໂດຍຄຳປະກອບສະເພາະ ບໍ່ຕ້ອງພົບບໍ່ມີຄຳປະກອບນັ້ນຈະກາຍເປັນຄູ່ມືສາກົນ
ກົດລະບຽບຂັ້ນວົງງານບໍ່ອະນຸຍາດຄູ່ມືທີ່ບໍ່ໄດ້ປະກາດ
ປະກາດໃນທິດສະຫຼຸບ
ການປະກອບຄູ່ມືທີ່ດີແມ່ນຖືກພິຈາລະນາໃຫ້ທັງໝົດການປະກາດຄູ່ມືຕັ້ງໃນທິດສະຫຼຸບຂອງແຕ່ລະຄືນລິກະສັບຫຼືວິການ
这么做的好处是:
- ມີການຄວາມສະຫຼາຍຢ່າງຫຼາຍຂອງວິສະວະກອນ
- ຕັ້ງໃຫ້ມີສະຖານທີ່ທີ່ດີເພື່ອຊອກຫາຄູ່ມືທີ່ຢູ່ພາຍໃນພາກພື້ນ
- ຄວາມຫຼາຍຢ່າງຫຼາຍໃນການຫຼຸດຄວາມສະຫຼາຍຂອງຄູ່ມືສາກົນ
- ຫຼຸດຄວາມເປັນໄປໄດ້ຂອງການປະກາດຂັ້ນຕົ້ນຫຼາຍຢ່າງຫຼາຍ
// ປະກາດໃນທິດສະຫຼຸບ var firstName, lastName, price, discount, fullPrice; // ຈະນຳໃຊ້ຫຼັງກ່າວ firstName = "Bill"; lastName = "Gates"; price = 19.90; discount = 0.10; fullPrice = price * 100 / discount;
ກໍ່ສາມາດນຳໃຊ້ໃນລະຫວ່າງການລະລາຍ:
// ປະກາດໃນທິດສະຫຼຸບ var i; // ຈະນຳໃຊ້ຫຼັງກ່າວ for (i = 0; i < 5; i++) {
ໂດຍປົກກະຕິ JavaScript ຈະຍ້າຍທັງໝົດການປະກາດໄປທິດສະຫຼຸບ (JavaScript hoisting)
ການກະຕຸ້ມຄູ່ມື
在您声明变量时对其进行初始化是个好习惯。
这么做的好处是:
- 更整洁的代码
- 在单独的位置来初始化变量
- 避免未定义值
// 在开头进行声明和初始化 var firstName = "", lastName = "", price = 0, discount = 0, fullPrice = 0, myArray = [], myObject = {};
变量初始化使我们能够了解预期用途和预期的数据类型。
请不要声明数值、字符串或布尔对象
请始终将数值、字符串或布尔值视作原始值。而非对象。
如果把这些类型声明为对象,会拖慢执行速度,并产生讨厌的副作用:
ຄວາມຈິງ
var x = "Bill"; var y = new String("Bill"); (x === y) // 结果为 false,因为 x 是字符串,而 y 是对象。
或者甚至更糟:
ຄວາມຈິງ
var x = new String("Bill"); var y = new String("Bill"); (x == y) // 结果是 false,因为你无法比较对象。
请勿使用 new Object()
- 请使用 {} 来代替 new Object()
- 请使用 "" 来代替 new String()
- 请使用 0 来代替 new Number()
- 请使用 false 来代替 new Boolean()
- 请使用 [] 来代替 new Array()
- 请使用 /()/ 来代替 new RegExp()
- 请使用 function (){}来代替 new Function()
ຄວາມຈິງ
var x1 = {}; // 新对象 var x2 = ""; // 新的原始字符串值 var x3 = 0; // 新的原始数值 var x4 = false; // 新的原始布尔值 var x5 = []; // 新的数组对象 var x6 = /()/; // 新的正则表达式 var x7 = function(){}; // 新的函数对象
ລະວັງວ່າມີການປ່ຽນຕົວເລກສາມາດອີກ.
ລະວັງວ່າຈຳນວນສາມາດຖືກເຊື່ອມຕໍ່ຄືກັບຄຳເວົ້າຫຼື NaN
(ບໍ່ໄດ້ເປັນຈຳນວນ).
JavaScript ໄດ້ເປັນບັນດາບາງຕົວເລກປະລິມານຢ່າງຫຼາຍ. ບັນດາບາງຕົວເລກສາມາດກວມມາດຕະຖານຂໍ້ມູນຫຼາຍຊະນິດ, ແລະບັນດາບາງຕົວເລກສາມາດປ່ຽນຕົວເລກສາມາດຫຼາຍຊະນິດ:
ຄວາມຈິງ
var x = "Hello"; // typeof x ຈະຢູ່ທີ່ມາກົດ x = 5; // ປ່ຽນ typeof x ເປັນສະບາຍອັນ
ຖ້າຈະດຳເນີນການການຄວາມຈິງ, JavaScript ສາມາດປ່ຽນຄູ່ມືເປັນຕາມຄືນ:
ຄວາມຈິງ
var x = 5 + 7; // x.valueOf() ກັບ 12, typeof x ຈະຢູ່ທີ່ສະບາຍອັນ var x = 5 + "7"; // x.valueOf() ກັບ 57, typeof x ຈະຢູ່ທີ່ມາກົດ var x = "5" + 7; // x.valueOf() ກັບ 57, typeof x ຈະຢູ່ທີ່ມາກົດ var x = 5 - 7; // x.valueOf() ກັບ -2, typeof x ຈະຢູ່ທີ່ສະບາຍອັນ var x = 5 - "7"; // x.valueOf() ກັບ -2, typeof x ຈະຢູ່ທີ່ສະບາຍອັນ var x = "5" - 7; // x.valueOf() ກັບ -2, typeof x ຈະຢູ່ທີ່ສະບາຍອັນ var x = 5 - "x"; // x.valueOf() ກັບ NaN, typeof x ຈະຢູ່ທີ່ສະບາຍອັນ
ການຕັດສິນວຽກສະແດງຄືນຈະບໍ່ມີຄວາມຜິດພາດຫນືງມາຈະກັບຄືນ NaN
(Not a Number):
ຄວາມຈິງ
"Hello" - "Dolly" // ກັບຄືນ NaN
ນຳໃຊ້ === ຂຽບຂອງການປຽບທຽບ
==
ຜູ້ປະສົມຈະປິ່ນປົວຊະນິດຢ່າງຫນຶ່ງດຽວກ່ອນທີ່ຈະປຽບທຽບ.
=====
ຜູ້ປະສົມຈະກະຕຸ້ມການປຽບທຽບຄູ່ມືແລະຊະນິດຢ່າງຫນຶ່ງດຽວ.
ຄວາມຈິງ
0 == ""; // true 1 == "1"; // true 1 == true; // true 0 === ""; // false 1 === "1"; // false 1 === true; // false
Parameter Defaults
ຖ້າຂີ້ຍິນຍອມບໍ່ມີຄຳຕິດຕາມໜຶ່ງ, ຈະກະກຽມຄຳຕິດຕາມທີ່ສູນກັນເປັນ undefined
。
undefined
ຈະທຳລາຍລະບຽບຂອງເຈົ້າ.ການກຳນົດຄູ່ມືລະບຽບເປັນການບໍ່ພິສູດ.
ຄວາມຈິງ
function myFunction(x, y) { if (y === undefined) { y = 0; } }
ກະຈາຍການສະແດງຄວາມຄົງທີ່ຂອງຕົວອາດິດສະຫຼະການບອກກ່ຽວກັບການສະແດງຄວາມຄົງທີ່ຂອງຕົວອາດິດສະຫຼະການພາຍໃນບົດນີ້.
ກະຈາຍ default ເພື່ອສຳເລັດ switch
ກະຈາຍ default
ເພື່ອສຳເລັດ switch
ຄຳຂໍ້. ເຖິງວ່າເຈົ້າຮູ້ວ່າບໍ່ມີຄວາມຈຳເປັນທີ່ຈະມີມັນ.
ຄວາມຈິງ
switch (new Date().getDay()) { case 0: day = "Sunday"; break; case 1: day = "Monday"; break; case 2: day = "Tuesday"; break; case 3: day = "Wednesday"; break; case 4: day = "Thursday"; break; case 5: day = "Friday"; break; case 6: day = "Saturday"; break; default: day = "Unknown"; }
ຫຼີກລ່ຽງການໃຊ້ eval()
eval()
ການໃຊ້ຕົວອາດິດສະຫຼະການທີ່ຈະປ່ຽນຄວາມຕາມການນຳໃຊ້ທາງຄວາມລັບ. ໃນທຸກການນຳໃຊ້, ບໍ່ມີຄວາມຈຳເປັນທີ່ຈະໃຊ້ມັນ.
ຍ້ອນອາດອະນຸຍາດໃຫ້ການເຮັດວຽກທີ່ບໍ່ຄອງຄິດ, ມັນຍັງໄດ້ຮູບຮ່າງຄວາມສ່ຽງທາງຄວາມລັບ.
- ຫນ້າຫນັງກ່ອນ ການອອກສັນຍາ JS ຮູບແບບ
- ຫນ້າຫນັງ ການອອກສັນຍາ JS