Google Chrome ไม่เพียง แต่ใช้ในการท่องอินเทอร์เน็ต แต่สำหรับนักพัฒนา แต่มันเป็นเหมือนเครื่องมือช่วยเหลือการพัฒนาที่ทรงพลัง
หากคุณต้องการทำงานที่ดีคุณต้องลับเครื่องมือของคุณก่อน ต่อไปฉันจะแบ่งปันวิธีการใช้ Chrome กับคุณ
หากผู้อ่านทราบวิธีเพิ่มจุดพัก JavaScript ลงใน Chrome โปรดอ่านต่อ มิฉะนั้นแต่งหน้าด้วยตัวเอง
หากมีรหัสชิ้นหนึ่ง:
การคัดลอกรหัสมีดังนี้:
var a = 1;
ฟังก์ชั่นทดสอบ () {
var a, b, c, d, e;
a = 2;
b = a - 1;
b = 9;
C = 3;
d = 4;
e = (a + b * c) * (a - d);
กลับ E;
-
ทดสอบ();
รหัสตัวเองไม่สำคัญว่าสิ่งที่สำคัญคือรูปแบบ
หาก E คือผลลัพธ์ที่เราต้องการในที่สุด แต่พบว่าผลลัพธ์ไม่ถูกต้องเราจะตั้งค่าเบรกพอยต์บนบรรทัดที่เรากำหนดค่าให้ E
หลังจากตั้งค่าเบรกพอยต์ให้ย้ายเมาส์ไปยังตัวแปรและอยู่พักหนึ่ง Chrome จะแจ้งค่าตัวแปรในเวลานี้ให้คุณ
แต่การแสดงออกนั้นค่อนข้างซับซ้อนและมันก็ไร้ประโยชน์เพียงแค่ดูค่าของตัวแปรเดียว ทุกอย่างดูปกติ แต่มันผิดหลังจากการคำนวณ
ในเวลานี้คุณมีแนวโน้มที่จะต้องการทราบผลลัพธ์ของส่วน (A + BC) ไม่ต้องกังวลเลือกนิพจน์ก่อนจากนั้นย้ายเมาส์ไปยังพื้นที่ที่เลือกและอยู่พักหนึ่ง
Chrome จะบอกคำตอบให้คุณฟังโดยตรง สิ่งที่น่าสนใจยิ่งกว่านั้นยังอยู่ข้างหลัง
คลิกขวาโดยตรงในพื้นที่ที่เลือกและเมนูจะปรากฏขึ้น สองรายการอันดับต้น ๆ คือ: [เพิ่มเพื่อดู] และ [ประเมินในคอนโซล] รูปภาพอ้างอิงมุมมองที่สอดคล้องกันเฉพาะ
นาฬิกาที่เรียกว่าสามารถเข้าใจได้ว่าเป็นการตรวจสอบ การแสดงออกบางอย่างมีความสำคัญมากกว่าและอาจต้องมีการตรวจสอบค่าของการแสดงออกตามเวลาจริงในระหว่างกระบวนการแก้ไขข้อบกพร่องทั้งหมด ในเวลานี้คุณสามารถใช้นาฬิกา
ตัวอย่างเช่นเราตั้งค่าเบรกพอยต์เป็นบรรทัด "b = 9;" จากนั้นเพิ่มนาฬิกา: "A - B" ด้วยค่า 1. ดังแสดงในรูปภาพ:
คลิกขั้นตอนต่อไปและดำเนินการ "B = 9;" ซึ่งหมายความว่าค่าของ B มีการเปลี่ยนแปลง ในเวลานี้ดูที่ค่าของนาฬิกา: "A - B" และคือ -7
สิ่งนี้บรรลุผลของการตรวจสอบแบบเรียลไทม์และทำให้การดีบักสะดวกและเร็วขึ้น
ถัดไปมาดูกันว่าเกิดอะไรขึ้นกับคอนโซล
แน่นอนว่าคอนโซลเป็นคอนโซลและสามารถประเมินการแสดงออกได้โดยตรงในคอนโซล
ตัวอย่างเช่นหากคุณต้องการทราบผลลัพธ์ของ (A + BC) ให้คัดลอกโดยตรงไปยังคอนโซลและกด Enter และผลลัพธ์จะออกมา
เดี๋ยวก่อนดูเหมือนว่ามีบางอย่างผิดปกติทำไมคอนโซลถึงรู้คุณค่าของ A, B และ C?
การดำเนินการรหัส JavaScript ในคอนโซลโดยไม่มีจุดพักเป็นทั่วโลก กล่าวคือในเวลานี้ตัวแปร X ถูกกำหนดไว้ในคอนโซลและขอบเขตของ X นี้เป็นระดับโลก
หากใช้คอนโซลในกรณีที่มีการหยุดชะงักของโปรแกรมขอบเขตของคอนโซลจะมุ่งเน้นไปที่ขอบเขตที่การหยุดชะงัก กล่าวคือไม่ว่าจะมีการตั้งค่าเบรกพอยต์ (หรือที่ที่รหัสถูกเรียกใช้) ขอบเขตของคอนโซลคือที่อยู่
ในตัวอย่างนี้ตัวแปร A ถูกกำหนดไว้ในขอบเขตทั่วโลกด้วยค่า 1; และตัวแปรท้องถิ่น A ถูกกำหนดไว้ในขอบเขตการทดสอบฟังก์ชันที่มีค่า 2. ตั้งค่าเบรกพอยต์ที่ "A = 2;", ป้อน A ในคอนโซล, ป้อนและพิมพ์ที่ไม่ได้กำหนด
เนื่องจากโปรแกรมถูกขัดจังหวะภายในการทดสอบฟังก์ชั่นในเวลานี้และโปรแกรมดำเนินการในการทดสอบฟังก์ชั่นขอบเขตของคอนโซลจึงอยู่ในการทดสอบฟังก์ชั่น ดังนั้นอินพุตการเข้าถึงตัวแปรท้องถิ่น A และตัวแปรโลคัล A ไม่ได้กำหนดในเวลานี้ดังนั้นผลลัพธ์จึงไม่ได้กำหนด
ฉันจะแบ่งปันมากครั้งนี้ก่อน ฉันจะแบ่งปันต่อไปเมื่อฉันพบกับคนที่มีอำนาจในอนาคต ฉันหวังว่ามันจะเป็นประโยชน์สำหรับผู้อ่าน