ข้อมูลอ้างอิงการดีบัก JavaScript

Sofia Emelianova
Sofia Emelianova

ดูเวิร์กโฟลว์การแก้ไขข้อบกพร่องแบบใหม่ด้วยข้อมูลอ้างอิงแบบครอบคลุมเกี่ยวกับฟีเจอร์การแก้ไขข้อบกพร่องของเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome

ดูเริ่มต้นการแก้ไขข้อบกพร่อง JavaScript ในเครื่องมือสำหรับนักพัฒนาเว็บของ Chrome เพื่อเรียนรู้ข้อมูลเบื้องต้นเกี่ยวกับการแก้ไขข้อบกพร่อง

หยุดโค้ดชั่วคราวด้วยเบรกพอยต์

ตั้งจุดหยุดพักเพื่อให้หยุดโค้ดชั่วคราวขณะที่โค้ดกำลังทำงาน ดูวิธีตั้งจุดหยุดชั่วคราวได้ที่หยุดโค้ดชั่วคราวด้วยจุดหยุด

ตรวจสอบค่าเมื่อหยุดชั่วคราว

ขณะหยุดการดําเนินการชั่วคราว ตัวแก้ไขข้อบกพร่องจะประเมินตัวแปร ค่าคงที่ และออบเจ็กต์ทั้งหมดภายในฟังก์ชันปัจจุบันจนถึงจุดหยุดพัก โปรแกรมแก้ไขข้อบกพร่องจะแสดงค่าปัจจุบันในบรรทัดถัดจากการประกาศที่เกี่ยวข้อง

การประเมินในบรรทัดแสดงอยู่ข้างการประกาศ

คุณสามารถใช้คอนโซลเพื่อค้นหาตัวแปร ค่าคงที่ และออบเจ็กต์ที่ประเมินแล้ว

การใช้คอนโซลเพื่อค้นหาตัวแปร ค่าคงที่ และออบเจ็กต์ที่ประเมินแล้ว

แสดงตัวอย่างพร็อพเพอร์ตี้ของคลาส/ฟังก์ชันเมื่อวางเมาส์เหนือ

ขณะที่การดําเนินการหยุดชั่วคราว ให้วางเมาส์เหนือชื่อคลาสหรือฟังก์ชันเพื่อดูตัวอย่างพร็อพเพอร์ตี้

แสดงตัวอย่างพร็อพเพอร์ตี้ของคลาส/ฟังก์ชันเมื่อวางเมาส์เหนือ

เรียกใช้โค้ดทีละขั้นตอน

เมื่อหยุดโค้ดชั่วคราวแล้ว ให้ตรวจสอบทีละนิพจน์ โดยตรวจสอบการไหลของการควบคุมและค่าพร็อพเพอร์ตี้ไปพร้อมๆ กัน

ข้ามบรรทัดโค้ด

เมื่อหยุดชั่วคราวในบรรทัดโค้ดที่มีฟังก์ชันที่ไม่เกี่ยวข้องกับปัญหาที่คุณกำลังแก้ไข ให้คลิกข้าม ข้าม เพื่อเรียกใช้ฟังก์ชันโดยไม่ต้องเข้าสู่ฟังก์ชัน

เลือก "ข้าม"

ตัวอย่างเช่น สมมติว่าคุณกําลังแก้ไขข้อบกพร่องของโค้ดต่อไปนี้

function updateHeader() {
  var day = new Date().getDay();
  var name = getName(); // A
  updateName(name); // D
}
function getName() {
  var name = app.first + ' ' + app.last; // B
  return name; // C
}

คุณหยุดชั่วคราวใน A การกดข้ามจะทำให้เครื่องมือสำหรับนักพัฒนาเว็บเรียกใช้โค้ดทั้งหมดในฟังก์ชันที่คุณข้าม ซึ่งก็คือ B และ C จากนั้นเครื่องมือสำหรับนักพัฒนาเว็บจะหยุดชั่วคราวในวันที่ D

เข้าสู่บรรทัดโค้ด

เมื่อหยุดชั่วคราวในบรรทัดโค้ดที่มีการเรียกใช้ฟังก์ชันที่เกี่ยวข้องกับปัญหาที่คุณกำลังแก้ไข ให้คลิกเข้าสู่ เข้า เพื่อตรวจสอบฟังก์ชันนั้นเพิ่มเติม

เลือก "Step into"

ตัวอย่างเช่น สมมติว่าคุณกําลังแก้ไขข้อบกพร่องของโค้ดต่อไปนี้

function updateHeader() {
  var day = new Date().getDay();
  var name = getName(); // A
  updateName(name);
}
function getName() {
  var name = app.first + ' ' + app.last; // B
  return name;
}

คุณหยุดชั่วคราวใน A เมื่อกดเข้าสู่ เครื่องมือสำหรับนักพัฒนาเว็บจะเรียกใช้บรรทัดโค้ดนี้ แล้วหยุดชั่วคราวที่ B

ออกจากบรรทัดโค้ด

เมื่อหยุดชั่วคราวภายในฟังก์ชันที่ไม่เกี่ยวข้องกับปัญหาที่คุณกำลังแก้ไข ให้คลิกออก ออก เพื่อเรียกใช้โค้ดที่เหลือของฟังก์ชัน

เลือก "ออก"

ตัวอย่างเช่น สมมติว่าคุณกําลังแก้ไขข้อบกพร่องของโค้ดต่อไปนี้

function updateHeader() {
  var day = new Date().getDay();
  var name = getName();
  updateName(name); // C
}
function getName() {
  var name = app.first + ' ' + app.last; // A
  return name; // B
}

คุณหยุดชั่วคราวใน A เมื่อกดออก เครื่องมือสำหรับนักพัฒนาเว็บจะเรียกใช้โค้ดที่เหลือใน getName() ซึ่งก็คือ B ในตัวอย่างนี้ แล้วหยุดชั่วคราวที่ C

เรียกใช้โค้ดทั้งหมดจนถึงบรรทัดที่ต้องการ

เมื่อแก้ไขข้อบกพร่องของฟังก์ชันที่ยาว อาจมีโค้ดจำนวนมากที่ไม่เกี่ยวข้องกับปัญหาที่คุณกำลังแก้ไข

คุณอาจต้องตรวจสอบทุกบรรทัด แต่วิธีนี้อาจใช้เวลานาน คุณอาจตั้งจุดหยุดชั่วคราวของบรรทัดโค้ดในบรรทัดที่ต้องการ แล้วกดดำเนินการสคริปต์ต่อ ดำเนินการสคริปต์ต่อ แต่ก็มีวิธีที่เร็วกว่านั้น

คลิกขวาที่บรรทัดโค้ดที่สนใจ แล้วเลือกไปที่ส่วนนี้ DevTools จะเรียกใช้โค้ดทั้งหมดจนถึงจุดนั้น จากนั้นจะหยุดชั่วคราวในบรรทัดนั้น

เลือก "ดำเนินการต่อมายังจุดนี้"

ดำเนินการสคริปต์ต่อ

หากต้องการดําเนินการสคริปต์ต่อหลังจากหยุดชั่วคราว ให้คลิกดําเนินการสคริปต์ต่อ ดำเนินการสคริปต์ต่อ เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์จะดำเนินการสคริปต์จนกว่าจะถึงจุดหยุดพักถัดไป (หากมี)

เลือก "ดำเนินการสคริปต์ต่อ"

บังคับให้เรียกใช้สคริปต์

หากต้องการละเว้นจุดหยุดทั้งหมดและบังคับให้สคริปต์ดำเนินการต่อ ให้คลิกดำเนินการสคริปต์ต่อ ดำเนินการสคริปต์ต่อ ค้างไว้ แล้วเลือกบังคับให้ดำเนินการสคริปต์ บังคับให้เรียกใช้สคริปต์

เลือก "บังคับให้สคริปต์ทำงาน"

เปลี่ยนบริบทชุดข้อความ

เมื่อทํางานกับ Web Worker หรือ Service Worker ให้คลิกบริบทที่แสดงในแผงเธรดเพื่อเปลี่ยนไปใช้บริบทนั้น ไอคอนลูกศรสีน้ำเงินแสดงบริบทที่เลือกอยู่ในปัจจุบัน

แผงชุดข้อความ

แผงชุดข้อความในภาพหน้าจอด้านบนมีเส้นขอบสีน้ำเงิน

ตัวอย่างเช่น สมมติว่าคุณหยุดชั่วคราวที่จุดหยุดพักทั้งในสคริปต์หลักและสคริปต์ Service Worker คุณต้องการดูพร็อพเพอร์ตี้ระดับท้องถิ่นและระดับส่วนกลางสำหรับบริบท Service Worker แต่แผงแหล่งที่มาแสดงบริบทสคริปต์หลัก เมื่อคลิกรายการ Service Worker ในแผง "ชุดข้อความ" คุณจะสลับไปยังบริบทนั้นได้

ดำเนินการทีละขั้นตอนตามนิพจน์ที่คั่นด้วยคอมมา

การเดินผ่านนิพจน์ที่คั่นด้วยคอมมาช่วยให้คุณแก้ไขข้อบกพร่องของโค้ดที่ผ่านการย่อขนาดได้ ตัวอย่างเช่น ลองดูโค้ดต่อไปนี้

function foo() {}

function bar() {
  foo();
  foo();
  return 42;
}

bar();

เมื่อได้รับการย่อให้มีขนาดเล็กที่สุด ไฟล์จะมีนิพจน์ foo(),foo(),42 ที่คั่นด้วยคอมมา ดังนี้

function foo(){}function bar(){return foo(),foo(),42}bar();

โปรแกรมแก้ไขข้อบกพร่องจะดำเนินการกับนิพจน์ดังกล่าวในลักษณะเดียวกัน

การดำเนินการกับนิพจน์ที่คั่นด้วยคอมมา

ดังนั้นลักษณะการเลื่อนจึงเหมือนกัน

  • ระหว่างโค้ดที่คอมไพล์แล้วกับโค้ดที่เขียน
  • เมื่อใช้แผนที่แหล่งที่มาเพื่อแก้ไขข้อบกพร่องของโค้ดที่มีการลดขนาดในแง่ของโค้ดต้นฉบับ กล่าวคือ เมื่อเห็นเครื่องหมายเซมิโคลอน คุณก็คาดหวังได้ว่าจะได้ดูโค้ดทีละบรรทัดเสมอ แม้ว่าแหล่งที่มาจริงที่คุณกำลังแก้ไขข้อบกพร่องจะได้รับการย่อขนาดก็ตาม

ดูและแก้ไขพร็อพเพอร์ตี้ในร้าน การปิด และพร็อพเพอร์ตี้ส่วนกลาง

เมื่อหยุดอยู่ที่บรรทัดโค้ด ให้ใช้แผงขอบเขตเพื่อดูและแก้ไขค่าของพร็อพเพอร์ตี้และตัวแปรในขอบเขตภายใน ปิด และส่วนกลาง

  • ดับเบิลคลิกค่าพร็อพเพอร์ตี้เพื่อเปลี่ยน
  • พร็อพเพอร์ตี้ที่ไม่ใช่แบบแจกแจงจะเปลี่ยนเป็นสีเทา

แผงขอบเขต

แผงขอบเขตในภาพหน้าจอด้านบนมีเส้นขอบสีน้ำเงิน

ดูสแต็กการเรียกใช้ปัจจุบัน

ขณะหยุดอยู่ที่บรรทัดโค้ด ให้ใช้แผงกองซ้อนการเรียกเพื่อดูกองซ้อนการเรียกที่ทำให้คุณมาถึงจุดนี้

คลิกรายการเพื่อข้ามไปยังบรรทัดโค้ดที่มีการเรียกใช้ฟังก์ชันนั้น ไอคอนลูกศรสีน้ำเงินแสดงถึงฟังก์ชันที่เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ไฮไลต์อยู่

แผงสแต็กการเรียกใช้

แผงกองซ้อนการเรียกในภาพหน้าจอด้านบนมีเส้นขอบสีน้ำเงิน

รีสตาร์ทฟังก์ชัน (เฟรม) ในกองซ้อนการเรียกใช้

หากต้องการตรวจสอบลักษณะการทํางานของฟังก์ชันและเรียกใช้อีกครั้งโดยไม่ต้องเริ่มขั้นตอนการแก้ไขข้อบกพร่องทั้งหมดอีกครั้ง คุณสามารถเริ่มการดําเนินการของฟังก์ชันเดียวอีกครั้งเมื่อหยุดฟังก์ชันนี้ไว้ชั่วคราว กล่าวคือ คุณสามารถเริ่มเฟรมของฟังก์ชันในกองคิวการเรียกใหม่ได้

วิธีรีสตาร์ทเฟรม

  1. หยุดการดําเนินการของฟังก์ชันชั่วคราวที่เบรกพอยต์ แผงสแต็กการเรียกจะบันทึกลําดับการเรียกใช้ฟังก์ชัน
  2. ในแผงกองซ้อนการเรียก ให้คลิกขวาที่ฟังก์ชัน แล้วเลือกเริ่มเฟรมใหม่จากเมนูแบบเลื่อนลง

    เลือก "เริ่มเฟรมใหม่" จากเมนูแบบเลื่อนลง

โปรดดูโค้ดต่อไปนี้เพื่อทำความเข้าใจวิธีการทำงานของเริ่มเฟรมใหม่

function foo(value) {
    console.log(value);
    bar(value);
}

function bar(value) {
    value++;
    console.log(value);
    debugger;
}

foo(0);

ฟังก์ชัน foo() ใช้ 0 เป็นอาร์กิวเมนต์ บันทึก และเรียกใช้ฟังก์ชัน bar() ฟังก์ชัน bar() จะเพิ่มอาร์กิวเมนต์

ลองรีสตาร์ทเฟรมของทั้ง 2 ฟังก์ชันด้วยวิธีต่อไปนี้

  1. คัดลอกโค้ดด้านบนไปยังข้อมูลโค้ดใหม่ แล้วเรียกใช้ การดำเนินการจะหยุดที่ debugger เบรกพอยต์บรรทัดโค้ด
  2. โปรดทราบว่าโปรแกรมแก้ไขข้อบกพร่องจะแสดงค่าปัจจุบันข้างการประกาศฟังก์ชัน: value = 1 ค่าปัจจุบันข้างการประกาศฟังก์ชัน
  3. รีสตาร์ทเฟรม bar() กำลังเริ่มเฟรม bar() อีกครั้ง
  4. เลื่อนดูคำสั่งการเพิ่มค่าโดยกด F9 การเพิ่มค่าปัจจุบัน โปรดทราบว่าค่าปัจจุบันเพิ่มขึ้นเป็น value = 2
  5. (ไม่บังคับ) ในแผงขอบเขต ให้ดับเบิลคลิกค่าเพื่อแก้ไขและตั้งค่าที่ต้องการ การแก้ไขค่าในแผงขอบเขต
  6. ลองรีสตาร์ทเฟรม bar() แล้วดำเนินการตามคำสั่งการเพิ่มอีก 2-3 ครั้ง ค่าจะเพิ่มขึ้นอย่างต่อเนื่อง เริ่มต้นเฟรม bar() อีกครั้ง

การรีสตาร์ทเฟรมจะไม่รีเซ็ตอาร์กิวเมนต์ กล่าวคือ การรีสตาร์ทจะไม่กู้คืนสถานะเริ่มต้นเมื่อเรียกใช้ฟังก์ชัน แต่เพียงย้ายเคอร์เซอร์การดําเนินการไปยังจุดเริ่มต้นของฟังก์ชัน

ดังนั้น ค่าอาร์กิวเมนต์ปัจจุบันจะยังคงอยู่ในหน่วยความจําเมื่อมีการรีสตาร์ทฟังก์ชันเดียวกัน

  1. ตอนนี้ให้เริ่มเฟรม foo() อีกครั้งในสแต็กการเรียกใช้ กำลังรีสตาร์ทเฟรม foo() โปรดสังเกตว่าค่าคือ 0 อีกครั้ง ALT_TEXT_HERE

ใน JavaScript การเปลี่ยนแปลงอาร์กิวเมนต์จะไม่แสดง (แสดงผล) ภายนอกฟังก์ชัน ฟังก์ชันที่ฝังอยู่จะได้รับค่า ไม่ใช่ตำแหน่งในหน่วยความจำ 1. ดำเนินการสคริปต์ต่อ (F8) เพื่อดูบทแนะนำนี้จนจบ

แสดงเฟรมที่อยู่ในรายการละเว้น

โดยค่าเริ่มต้น แผงกองซ้อนการเรียกจะแสดงเฉพาะเฟรมที่เกี่ยวข้องกับโค้ดของคุณ และจะไม่แสดงสคริปต์ที่เพิ่มลงในการตั้งค่า การตั้งค่า > รายการที่ละเว้น

สแต็กการเรียกใช้

หากต้องการดูสแต็กการเรียกทั้งหมด ซึ่งรวมถึงเฟรมของบุคคลที่สาม ให้เปิดใช้แสดงเฟรมที่อยู่ในรายการละเว้นในส่วนสแต็กการเรียก

แสดงเฟรมที่อยู่ในรายการละเว้น

ลองใช้ในหน้าเดโมนี้

  1. ในแผงแหล่งที่มา ให้เปิดไฟล์ src > app > app.component.ts
  2. ตั้งค่าเบรกพอยต์ที่ฟังก์ชัน increment()
  3. ในส่วนกองคําสั่ง ให้เลือกหรือยกเลิกการเลือกช่องทําเครื่องหมายแสดงเฟรมในรายการที่ละเว้น และดูรายการเฟรมที่เกี่ยวข้องหรือทั้งหมดในกองคําสั่ง

ดูเฟรมแบบไม่พร้อมกัน

หากเฟรมเวิร์กที่คุณใช้รองรับ เครื่องมือสำหรับนักพัฒนาเว็บจะติดตามการดำเนินการแบบแอสซิงค์ได้โดยลิงก์โค้ดแบบแอสซิงค์ทั้ง 2 ส่วนเข้าด้วยกัน

ในกรณีนี้ กองซ้อนการเรียกจะแสดงประวัติการเรียกทั้งหมด รวมถึงเฟรมการเรียกแบบแอซิงค์

เฟรมการเรียกใช้แบบไม่พร้อมกัน

คัดลอกสแต็กเทรซ

คลิกขวาที่ใดก็ได้ในแผงกองซ้อนการเรียก แล้วเลือกคัดลอกสแต็กเทรซเพื่อคัดลอกกองซ้อนการเรียกปัจจุบันไปยังคลิปบอร์ด

เลือก "คัดลอกสแต็กเทรซ"

ตัวอย่างเอาต์พุตมีดังนี้

getNumber1 (get-started.js:35)
inputsAreEmpty (get-started.js:22)
onClick (get-started.js:15)

ไปยังส่วนต่างๆ ในโครงสร้างไฟล์

ใช้แผงหน้าเพื่อไปยังส่วนต่างๆ ของโครงสร้างไฟล์

จัดกลุ่มไฟล์ที่เขียนและทำให้ใช้งานได้แล้วในลําดับชั้นไฟล์

เมื่อพัฒนาเว็บแอปพลิเคชันโดยใช้เฟรมเวิร์ก (เช่น React หรือ Angular) การไปยังส่วนต่างๆ ของแหล่งที่มาอาจทำได้ยากเนื่องจากไฟล์ที่บีบอัดซึ่งเครื่องมือสร้างสร้างขึ้น (เช่น webpack หรือ Vite)

แผงแหล่งที่มา > หน้าจะจัดกลุ่มไฟล์ออกเป็น 2 หมวดหมู่ เพื่อช่วยให้คุณไปยังแหล่งที่มาต่างๆ ได้

  • ไอคอนโค้ด เขียน คล้ายกับไฟล์ต้นฉบับที่คุณดูใน IDE เครื่องมือสำหรับนักพัฒนาเว็บจะสร้างไฟล์เหล่านี้ตามซอร์สแมปที่เครื่องมือสร้างของคุณให้ไว้
  • ไอคอนที่ทําให้ใช้งานได้ ทำให้ใช้งานได้แล้ว ไฟล์จริงที่เบราว์เซอร์อ่าน โดยปกติแล้วไฟล์เหล่านี้จะได้รับการลดขนาด

หากต้องการเปิดใช้การจัดกลุ่ม ให้เปิดใช้ตัวเลือก เมนู 3 จุด > จัดกลุ่มไฟล์ตามผู้เขียน/ที่ติดตั้งใช้งาน ทดลอง ในเมนูจุด 3 จุดที่ด้านบนของโครงสร้างไฟล์

จัดกลุ่มไฟล์ตามสถานะ "เขียนแล้ว" หรือ "ทำให้ใช้งานได้แล้ว"

ซ่อนแหล่งที่มาที่อยู่ในรายการละเว้นจากลําดับชั้นไฟล์

แผงแหล่งที่มา > หน้าเว็บจะเปลี่ยนสคริปต์หรือไดเรกทอรีทั้งหมดที่เพิ่มลงใน การตั้งค่า การตั้งค่า > รายการที่ละเว้น เป็นสีเทาโดยค่าเริ่มต้น เพื่อช่วยให้คุณมุ่งเน้นที่โค้ดที่สร้างเท่านั้น

หากต้องการซ่อนสคริปต์ดังกล่าวทั้งหมด ให้เลือกแหล่งที่มา > หน้าเว็บ > เมนู 3 จุด > ซ่อนแหล่งที่มาในรายการละเว้น ทดลอง

ก่อนและหลังการซ่อนแหล่งที่มาที่อยู่ในรายการละเว้น

ละเว้นสคริปต์หรือรูปแบบของสคริปต์

ละเว้นสคริปต์เพื่อข้ามขณะแก้ไขข้อบกพร่อง เมื่อละเว้น สคริปต์จะบดบังในแผง Call Stack และคุณจะไม่ได้เข้าสู่ฟังก์ชันของสคริปต์เมื่อสํารวจโค้ด

เช่น สมมติว่าคุณกําลังทำตามโค้ดนี้

function animate() {
  prepare();
  lib.doFancyStuff(); // A
  render();
}

A คือไลบรารีของบุคคลที่สามที่คุณเชื่อถือ หากมั่นใจว่าปัญหาที่คุณแก้ไขอยู่นั้นไม่เกี่ยวข้องกับไลบรารีของบุคคลที่สาม คุณก็ควรละเว้นสคริปต์

ละเว้นสคริปต์หรือไดเรกทอรีจากลําดับชั้นไฟล์

วิธีละเว้นสคริปต์แต่ละรายการหรือทั้งไดเรกทอรี

  1. คลิกขวาที่ไดเรกทอรีหรือไฟล์สคริปต์ในส่วนแหล่งที่มา > หน้าเว็บ
  2. เลือกเพิ่มไดเรกทอรี/สคริปต์ลงในรายการละเว้น

ละเว้นตัวเลือกสำหรับไดเรกทอรีหรือไฟล์สคริปต์

หากไม่ได้ซ่อนแหล่งที่มาในรายการที่ละเว้น คุณจะเลือกแหล่งที่มาดังกล่าวได้ในโครงสร้างไฟล์ และคลิกนำออกจากรายการที่ละเว้นหรือกําหนดค่าในแบนเนอร์คําเตือน คำเตือน

ไฟล์ที่ละเว้นซึ่งเลือกไว้จะแสดงปุ่มนำออกและกำหนดค่า

หรือจะนําไดเรกทอรีและสคริปต์ที่ซ่อนและละเว้นออกจากรายการก็ได้ใน การตั้งค่า การตั้งค่า > รายการละเว้น

ละเว้นสคริปต์จากแผงเครื่องมือแก้ไข

วิธีละเว้นสคริปต์จากแผงเครื่องมือแก้ไข

  1. เปิดไฟล์
  2. คลิกขวาที่ใดก็ได้
  3. เลือกเพิ่มสคริปต์ลงในรายการละเว้น

การละเว้นสคริปต์จากแผงเครื่องมือแก้ไข

คุณนำสคริปต์ออกจากรายการที่ละเว้นได้จาก การตั้งค่า การตั้งค่า > รายการละเว้น

ละเว้นสคริปต์จากแผงสแต็กการเรียกใช้

วิธีละเว้นสคริปต์จากแผง Call Stack

  1. คลิกขวาที่ฟังก์ชันจากสคริปต์
  2. เลือกเพิ่มสคริปต์ลงในรายการละเว้น

การละเว้นสคริปต์จากแผงสแต็กการเรียกใช้

คุณนำสคริปต์ออกจากรายการที่ละเว้นได้จาก การตั้งค่า การตั้งค่า > รายการละเว้น

ละเว้นสคริปต์จากการตั้งค่า

ดูที่ การตั้งค่า การตั้งค่า > รายการที่ละเว้น

เรียกใช้ข้อมูลโค้ดแก้ไขข้อบกพร่องจากหน้าใดก็ได้

หากพบว่าตัวเองเรียกใช้โค้ดแก้ไขข้อบกพร่องเดิมในคอนโซลซ้ำๆ ให้ลองใช้ข้อมูลโค้ด ข้อมูลโค้ดคือสคริปต์ที่เรียกใช้ได้ซึ่งคุณเขียน เก็บ และเรียกใช้ภายในเครื่องมือสำหรับนักพัฒนาเว็บ

ดูข้อมูลเพิ่มเติมที่เรียกใช้ข้อมูลโค้ดจากหน้าเว็บใดก็ได้

ดูค่าของนิพจน์ JavaScript ที่กําหนดเอง

ใช้แผงการติดตามเพื่อดูค่าของนิพจน์ที่กําหนดเอง คุณสามารถดูนิพจน์ JavaScript ที่ถูกต้องได้

แผง "ดู"

  • คลิกเพิ่มนิพจน์ เพิ่มนิพจน์ เพื่อสร้างนิพจน์นาฬิกาใหม่
  • คลิกรีเฟรช รีเฟรช เพื่อรีเฟรชค่าของนิพจน์ที่มีอยู่ทั้งหมด ค่าจะรีเฟรชโดยอัตโนมัติขณะสเต็ปผ่านโค้ด
  • วางเมาส์เหนือนิพจน์ แล้วคลิกลบนิพจน์ ลบนิพจน์ เพื่อลบ

ตรวจสอบและแก้ไขสคริปต์

เมื่อคุณเปิดสคริปต์ในแผงหน้าเว็บ เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์จะแสดงเนื้อหาของสคริปต์ในแผงเครื่องมือแก้ไข ในแผงเครื่องมือแก้ไข คุณสามารถเรียกดูและแก้ไขโค้ดได้

นอกจากนี้ คุณยังลบล้างเนื้อหาในเครื่องหรือสร้างเวิร์กช็อปและบันทึกการเปลี่ยนแปลงที่คุณทำในเครื่องมือสำหรับนักพัฒนาเว็บลงในแหล่งที่มาในเครื่องได้โดยตรง

ทำให้ไฟล์ที่ลดขนาดไฟล์อ่านได้

โดยค่าเริ่มต้น แผงแหล่งที่มาจะจัดรูปแบบไฟล์ที่ลดขนาด เมื่อแสดงผลแบบจัดรูปแบบ เครื่องมือแก้ไขอาจแสดงโค้ดยาวบรรทัดเดียวเป็นหลายบรรทัด โดยมี - เพื่อระบุว่าเป็นการต่อบรรทัด

บรรทัดโค้ดยาวที่แสดงอย่างเป็นระเบียบในหลายบรรทัด โดยมีเครื่องหมาย "-" เพื่อบ่งบอกการต่อบรรทัด

หากต้องการดูไฟล์ที่บีบอัดขณะโหลด ให้คลิก { } ที่มุมล่างซ้ายของเครื่องมือแก้ไข

ยุบโค้ดบล็อก

หากต้องการพับบล็อกโค้ด ให้วางเมาส์เหนือหมายเลขบรรทัดในคอลัมน์ด้านซ้าย แล้วคลิก ยุบ ยุบ

หากต้องการขยายบล็อกโค้ด ให้คลิก {...} ข้างบล็อกนั้น

หากต้องการกําหนดค่าลักษณะการทํางานนี้ โปรดดูการตั้งค่า การตั้งค่า > ค่ากําหนด > แหล่งที่มา

แก้ไขสคริปต์

เมื่อแก้ไขข้อบกพร่อง คุณมักจะต้องทดสอบการเปลี่ยนแปลงบางอย่างในโค้ด JavaScript คุณไม่จำเป็นต้องทำการเปลี่ยนแปลงในเบราว์เซอร์ภายนอกแล้วโหลดหน้าเว็บซ้ำ คุณแก้ไขสคริปต์ได้ใน DevTools

วิธีแก้ไขสคริปต์

  1. เปิดไฟล์ในแผงเครื่องมือแก้ไขของแผงแหล่งที่มา
  2. ทําการเปลี่ยนแปลงในแผงตัวแก้ไข
  3. กด Command+S (Mac) หรือ Ctrl+S (Windows, Linux) เพื่อบันทึก DevTools จะแพตช์ไฟล์ JS ทั้งหมดลงในเครื่องมือ JavaScript ของ Chrome

    แผงเครื่องมือแก้ไข

    แผงตัวแก้ไขในภาพหน้าจอด้านบนมีเส้นขอบสีน้ำเงิน

แก้ไขฟังก์ชันที่หยุดชั่วคราวแบบเรียลไทม์

ขณะหยุดการดําเนินการชั่วคราว คุณสามารถแก้ไขฟังก์ชันปัจจุบันและทําการเปลี่ยนแปลงแบบเรียลไทม์ได้โดยมีข้อจํากัดต่อไปนี้

  • คุณจะแก้ไขได้เฉพาะฟังก์ชันที่ด้านบนสุดในกองซ้อนการเรียก
  • ไม่มีการเรียกฟังก์ชันเดียวกันซ้ำๆ ในกองซ้อน

วิธีแก้ไขฟังก์ชันแบบเรียลไทม์

  1. หยุดการดําเนินการชั่วคราวด้วยจุดหยุดพัก
  2. แก้ไขฟังก์ชันที่หยุดชั่วคราว
  3. กด Command / Control + S เพื่อใช้การเปลี่ยนแปลง โปรแกรมแก้ไขข้อบกพร่องจะเริ่มฟังก์ชันใหม่โดยอัตโนมัติ
  4. ดําเนินการต่อ

ดูวิดีโอด้านล่างเพื่อดูเวิร์กโฟลว์นี้

ในตัวอย่างนี้ ตัวแปร addend1 และ addend2 มีประเภท string ที่ไม่ถูกต้องในตอนแรก ระบบจึงต่อสตริงแทนการเพิ่มตัวเลข วิธีแก้ไขคือเพิ่มฟังก์ชัน parseInt() ในระหว่างการแก้ไขแบบสด

วิธีค้นหาข้อความในสคริปต์

  1. เปิดไฟล์ในแผงเครื่องมือแก้ไขของแผงแหล่งที่มา
  2. หากต้องการเปิดแถบค้นหาในตัว ให้กด Command+F (Mac) หรือ Ctrl+F (Windows, Linux)
  3. ป้อนข้อความค้นหาในแถบ ค้นหา คุณเลือกดำเนินการต่อไปนี้ได้ (ไม่บังคับ)
    • คลิก ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ตรงกัน ตรงตามตัวพิมพ์ใหญ่-เล็กเพื่อให้การค้นหาคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
    • คลิก ปุ่ม RegEx ใช้นิพจน์ทั่วไปเพื่อค้นหาโดยใช้นิพจน์ทั่วไป
  4. กด Enter หากต้องการข้ามไปยังผลการค้นหาก่อนหน้าหรือถัดไป ให้กดปุ่มขึ้นหรือลง

วิธีแทนที่ข้อความที่พบ

  1. ในแถบค้นหา ให้คลิกปุ่ม แทนที่ แทนที่ แทนที่
  2. พิมพ์ข้อความที่ต้องการแทนที่ แล้วคลิกแทนที่หรือแทนที่ทั้งหมด

ปิดใช้ JavaScript

ดูปิดใช้ JavaScript ด้วยเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome