4 ข้อความ JavaScript ที่มีประโยชน์ที่คุณควรรู้
ข้อความสั่ง JavaScript ให้พลังแก่เรา ใช้ตรรกะประเภทต่าง ๆ ในรหัสของเรา. จาวาสคริปต์ให้เราหลายอย่างซึ่งทั้งหมดมีวัตถุประสงค์และไวยากรณ์ของมันเอง ในตัวอย่างที่เป็นที่รู้จักมากที่สุดเราสามารถหาคำแถลงการแสดงออกประโยคซ้ำประโยคเงื่อนไขและอื่น ๆ
ในโพสต์ของวันนี้เราจะเห็น คำสั่ง JavaScript ที่พบน้อยกว่าสี่รายการ คุณอาจไม่เคยรู้จักมาก่อน แต่สามารถเพิ่มพูนความรู้เกี่ยวกับ JavaScript และทำให้คุณสามารถเขียนโค้ดได้ดีขึ้น.
1. ข้อความว่างเปล่า
แทนที่คำสั่ง JavaScript ใด ๆ คุณสามารถเพิ่มคำสั่งว่างซึ่งเขียนเป็นเซมิโคลอนเดี่ยว ;
. เมื่อล่าม JavaScript ตีความคำสั่งที่ว่างเปล่า, ไม่มีการใช้รหัส, ดังนั้นพวกเขาจึงมีประโยชน์ แทนที่คำสั่งย่อยที่คุณไม่ต้องการดำเนินการ.
ตัวอย่างเช่นสมมติว่ามีตัวแปรที่เรียกว่า สารสีน้ำเงิน
ด้วยค่าเริ่มต้น เป็นกลาง
. ขึ้นอยู่กับค่าของตัวแปรอื่นที่เรียกว่า พีเอช
, สารสีน้ำเงิน
เปลี่ยนเป็นทั้ง ที่เป็นกรด
เมื่อ pH < 7 or ขั้นพื้นฐาน
เมื่อ pH> 7.
หากมูลค่าของ พีเอช
ปรากฎว่าไม่ถูกต้องมีข้อผิดพลาดเกิดขึ้น สำหรับ เงื่อนไข เช่นนี้คำสั่งเงื่อนไขต่อไปนี้ใช้:
var litmus = 'neutral'; var pH; ถ้า (pH> 0 && pH<7) litmus = 'acidic'; else if(pH>7 && pH<15) litmus = 'basic'; else throw "Invalid pH value";
อย่างไรก็ตามชุดคำสั่งด้านบนจะพ่นข้อผิดพลาดเมื่อ พีเอช
ค่าของมันคือ 7 ซึ่งไม่ควรเป็นอย่างนั้น.
เมื่อ พีเอช
คือ 7, สารสีน้ำเงิน
ควรเก็บค่าเริ่มต้นไว้นั่นคือ เป็นกลาง
. ดังนั้นสำหรับกรณีเช่นนี้ให้เพิ่มเงื่อนไขเมื่อ พีเอช
คือ 7 ที่มีคำสั่งว่างเปล่าต่อท้าย.
var litmus = 'neutral'; var pH; ถ้า (pH> 0 && pH<7) litmus = 'acidic'; else if(pH===7) ; /* empty statement */ else if(pH>7 && pH<15) litmus = 'basic'; else throw "Invalid pH value";
ตอนนี้เมื่อ พีเอช
คือ 7 ล่ามไม่ได้ดำเนินการตามคำแนะนำใด ๆ และ สารสีน้ำเงิน
เก็บค่าเริ่มต้น, เป็นกลาง
.
คำสั่งที่ว่างเปล่ายังสามารถใช้เพื่อเติมอาร์เรย์ด้วยความช่วยเหลือของ สำหรับ
ห่วง.
var ary = []; สำหรับ (var i = 0; i < 5; ary[i++] = i) ; /* empty statement */ console.log(ary); // [1, 2, 3, 4, 5]
โดยทั่วไปแล้ว สำหรับ
คำสั่งวนซ้ำตามด้วยคำสั่งย่อยที่ประกอบด้วยคำสั่งเดียวหรือคำสั่งบล็อก (คำสั่งล้อมรอบ วงเล็บปีกกา) ที่จะดำเนินการ โดยการใช้คำสั่งที่ว่างเปล่าแทนคำสั่งย่อยล่ามจะไม่มีสิ่งใดที่จะดำเนินการหลังจากแต่ละลูปดังนั้น เพียง วนลูป เกิดขึ้นและเงื่อนไขการวนรอบได้รับการดำเนินการ.
ในตัวอย่างข้างต้น, ary [i ++] = i
ดำเนินการสำหรับการวนซ้ำแต่ละครั้งซึ่งเป็นส่วนหนึ่งของเงื่อนไขการวนซ้ำและอาร์เรย์ Ary
รับค่าอินสแตนซ์ของ ผม
.
2. การ ดีบัก
คำแถลง
ในการดีบักเครื่องมือเราทำได้ เพิ่มเครื่องหมาย เรียกว่า จุดพัก ไปยังบรรทัดใด ๆ ในซอร์สโค้ดถึง ทำเครื่องหมายบรรทัดจากที่เครื่องมือดีบั๊กจะเริ่มการดีบัก.
ในจาวาสคริปต์ ดีบัก
คำแถลง ทำงานในลักษณะเดียวกับเบรกพอยต์, ยกเว้นว่ามัน เพิ่มลงในรหัสที่มาโดยตรง, มากกว่าภายในเครื่องมือ เครื่องมือดีบั๊กจะทำงานอยู่ หยุดการทำงานของสคริปต์ เมื่อมันมาถึง ดีบัก
คำสั่งเพื่อช่วยให้คุณแก้จุดบกพร่องรหัส.
โปรดจำไว้ว่าการดีบักจะเริ่มขึ้น เฉพาะในกรณีที่สคริปต์ทำงานในโหมดแก้ไขจุดบกพร่อง, เช่นโปรแกรมแก้ไขข้อบกพร่องกำลังทำงานอยู่เหนือการทำงานของสคริปต์ หากไม่มีโปรแกรมดีบักเกอร์ที่กำลังทำงานอยู่ในขณะแปลความหมาย ดีบัก
คำสั่งล่ามจะทำงานต่อไปราวกับว่าไม่มีอะไรเกิดขึ้น.
เป็นการทดสอบแบบด่วนให้เรียกใช้โค้ดต่อไปนี้ใน Codepen ในขณะที่เปิดเครื่องมือดีบักเกอร์ของเบราว์เซอร์:
console.log ( 'tesing'); ดีบักเกอร์; console.log ('คำสั่งการแก้จุดบกพร่อง');
คุณจะเห็นเบรกพอยต์นอกเหนือจาก ดีบัก
คำสั่งที่แสดงด้านล่างในเครื่องมือดีบักเกอร์ของเบราว์เซอร์.
3. คำแถลงฉลาก
ใน JavaScript คุณสามารถเพิ่มป้ายกำกับให้กับข้อความสั่งบางรายการได้เช่นกัน คุณสามารถทำได้ ข้ามไปที่คำสั่งที่มีข้อความ ใช้ฉลากของมันในรหัสของคุณ, ชนิดของ ชอบ ไปที่
คำสั่งทำงานในภาษาอื่น ๆ.
ข้อความที่มีป้ายกำกับสามารถใช้ร่วมกับ หยุด
และ ต่อ
คำสั่งเช่นเดียวกับใน JavaScript ไม่มีตัวอักษร ไปที่
คำแถลง.
ทั้งสอง หยุด
และ ต่อ
สามารถใช้ได้ภายในข้อความสั่งวนรอบเช่น สำหรับ
ห่วง (มีข้อยกเว้นหนึ่งข้อ, หยุด
สามารถใช้ใน สวิตซ์
คำสั่งเช่นกัน) ดังนั้นเราสามารถติดฉลากลูปและใช้ หยุด
และ ต่อ
เพื่อควบคุมการดำเนินการของพวกเขา.
ไวยากรณ์ของข้อความที่มีข้อความกำกับ ง่ายมากคุณเพียงแค่เพิ่มชื่อของป้ายกำกับด้วยเครื่องหมายโคลอนต่อไปนี้ตามที่คุณเห็นในตัวอย่างด้านล่างโดยที่ ห่วง
เป็นชื่อของป้ายกำกับที่เราเพิ่มลงใน สำหรับ
ห่วง.
วนรอบ: สำหรับ (var i = 0; i<5; i++) if(i===2) continue loop; console.log(i); // 0, 1, 3, 4
เมื่อมูลค่าของ ผม
คือ 2 การประมวลผลจะข้ามกลับไปที่ลูปแทนการดำเนินการต่อและด้วยเหตุนี้จึงป้องกันไม่ให้คอนโซลเอาต์พุต “2”.
ตอนนี้เรามาดูตัวอย่างอื่นกับ หยุด
คำแถลง เพียงแค่แทนที่ ต่อ
คำค้นหาด้วย หยุด
ในตัวอย่างด้านบนและคุณจะสังเกตเห็นว่าแทนที่จะกระโดดกลับไปที่วงอย่างที่เคยทำ ต่อ
, ลูปสิ้นสุดลง / หยุดพักพร้อมกัน.
วนรอบ: สำหรับ (var i = 0; i<5; i++) if(i===2) break loop; console.log(i); // 0, 1
ตัวอย่างด้านบนนั้นค่อนข้างง่ายเพื่อให้คุณสามารถเข้าใจได้อย่างรวดเร็วว่าคำว่าป้ายกำกับทำงานอย่างไร แต่ในการเข้ารหัสในชีวิตจริงป้ายกำกับจะถูกใช้บ่อยกว่าในวงวนผสมเมื่อจำเป็นต้องแยกความแตกต่างของลูปต่าง ๆ ดังตัวอย่างต่อไปนี้
วนรอบ: สำหรับ (var i = 0; i<4; i++) for(var j=0; j<2; j++) if(i===2 && j===1) break loop; console.log(i+"-"+j);
ที่นี่ วงนอก แบ่ง ที่ค่า 2 สำหรับตัวแปร ผม
และที่ 1 สำหรับ J
, และคอนโซลส่งคืนเอาต์พุตต่อไปนี้:
0-0 0-1 1-0 1-1 2-0
4. การ กับ
คำแถลง
เมื่อล่าม JS เจอชื่อที่ไม่มีเงื่อนไข ที่ไม่ได้ระบุวัตถุหรือฟังก์ชั่นการโทรที่เกี่ยวข้องกับมัน ค้นหาห่วงโซ่ขอบเขต สำหรับวัตถุหรือฟังก์ชั่นที่เหมาะสมการโทรอาจหมายถึง.
โดยการใช้ กับ
คำสั่งเราสามารถ เพิ่มวัตถุให้กับห่วงโซ่ขอบเขตด้านบน, และระบุว่าการโทรเกี่ยวข้องกับวัตถุใด.
ในตัวอย่างต่อไปนี้คุณจะเห็นว่าคุณสมบัติของ คน
วัตถุถูกเรียกโดยใช้ชื่อของพวกเขาเพียงอย่างเดียวใน กับ
คำแถลง.
var person = firstName: "John", นามสกุล: "Doe", อายุ: "18", ประเทศ: "กรีนแลนด์"; with (person) console.log ("สวัสดีฉันชื่อ" + firstName + "" + lastName + "ฉัน" + อายุ + "ปีและอาศัยอยู่ใน" + country + "."); // "สวัสดีฉันชื่อ John Doe ฉันอายุ 18 ปีอาศัยอยู่ที่กรีนแลนด์"
เปรียบเทียบว่าโค้ดด้านบนมีลักษณะอย่างไรโดยไม่ใช้ กับ
คำสั่ง:
var person = firstName: "John", นามสกุล: "Doe", อายุ: "18", ประเทศ: "กรีนแลนด์"; console.log ("สวัสดีฉันชื่อ" + person.firstName + "" + person.lastName + "ฉัน" + person.age + "ปีและอาศัยอยู่ใน" + person.country + " ); // "สวัสดีฉันชื่อ John Doe ฉันอายุ 18 ปีอาศัยอยู่ที่กรีนแลนด์"
คุณสามารถดู กับ
คำสั่งอาจเป็นทางลัดที่ยอดเยี่ยมหากคุณทำงานกับคุณสมบัติหลายอย่างของวัตถุเดียวกัน.
อย่างไรก็ตามโปรดทราบว่าการใช้ กับ
คำแถลง ในโหมดที่เข้มงวดไม่ได้รับอนุญาต, เนื่องจากอาจทำให้เกิดความสับสนในขอบเขต.
นอกจากนี้ขอแนะนำให้ใช้ กับ
คำสั่งถ้าคำสั่งภายในของมันใช้วัตถุที่เกี่ยวข้องกับการ กับ
คำสั่งมิฉะนั้นล่ามจะเสียเวลาดูวัตถุที่กล่าวถึง กับ
ก่อนอื่นสำหรับชื่อคุณสมบัติที่ไม่มีเงื่อนไขทั้งหมดจะพบในภายหลังใน กับ
กลุ่ม.