สำหรับการดีบักของโปรแกรม JavaScript การใช้ console.log () เป็นวิธีที่ดีกว่าการแจ้งเตือน () เนื่องจาก: ฟังก์ชั่นการแจ้งเตือน () จะบล็อกการดำเนินการของโปรแกรม JavaScript ทำให้เกิดผลข้างเคียง; ในขณะที่ console.log () พิมพ์เฉพาะข้อมูลที่เกี่ยวข้องในคอนโซลดังนั้นจึงไม่ทำให้เกิดข้อกังวลที่คล้ายกัน
console.log () คืออะไร?
ยกเว้นเบราว์เซอร์รุ่นเก่าบางรุ่นเบราว์เซอร์ส่วนใหญ่ในปัจจุบันมาพร้อมกับฟังก์ชั่นการดีบัก แม้ว่าจะไม่มีฟังก์ชั่นการดีบัก แต่ก็สามารถเสริมด้วยการติดตั้งปลั๊กอิน ตัวอย่างเช่น Firefox เวอร์ชันเก่าไม่ได้มาพร้อมกับเครื่องมือการดีบัก ในกรณีนี้คุณสามารถเพิ่มฟังก์ชั่นการดีบักได้โดยการติดตั้งปลั๊กอิน Firebug บนเบราว์เซอร์ที่มีฟังก์ชั่นการดีบักตัวแปรสมาชิกชื่อคอนโซลจะลงทะเบียนในวัตถุหน้าต่างโดยอ้างถึงคอนโซลในเครื่องมือการดีบัก โดยการเรียกฟังก์ชั่น log () ของวัตถุคอนโซลคุณสามารถพิมพ์ข้อมูลในคอนโซล ตัวอย่างเช่นรหัสต่อไปนี้จะพิมพ์ "ตัวอย่างบันทึก" ในคอนโซล:
การคัดลอกรหัสมีดังนี้:
window.console.log ("บันทึกตัวอย่าง");
รหัสด้านบนสามารถละเว้นวัตถุหน้าต่างและย่อโดยตรงเป็น:
การคัดลอกรหัสมีดังนี้:
console.log ("ตัวอย่างบันทึก");
console.log () สามารถยอมรับสตริงหมายเลขและวัตถุ JavaScript เช่นเดียวกับฟังก์ชั่นการแจ้งเตือน () คอนโซล log () ยังสามารถยอมรับ newLines/n และแท็บอักขระ/t
ข้อมูลการดีบักที่พิมพ์ในคำสั่ง console.log () สามารถดูได้ในคอนโซลการดีบักของเบราว์เซอร์ สำหรับวิธีการดูเฉพาะในแต่ละเบราว์เซอร์โปรดดูหน้าเว็บต่อไปนี้:
http://stackoverflow.com/questions/4743730/what-is-console-log-and-how-do-i-use-it
พฤติกรรมของ console.log () อาจแตกต่างกันไปในเบราว์เซอร์ที่แตกต่างกัน บทความนี้ส่วนใหญ่กล่าวถึงการใช้ console.log () ใน Firebug
เข้ากันได้กับเบราว์เซอร์ที่ไม่มีคอนโซลดีบั๊ก
สำหรับเบราว์เซอร์รุ่นเก่าที่ไม่มีคอนโซลดีบั๊กวัตถุคอนโซลในหน้าต่างไม่มีอยู่ดังนั้นการใช้คำสั่ง console.log () อาจทำให้เกิดข้อผิดพลาด (ข้อผิดพลาดตัวชี้ NULL) ภายในเบราว์เซอร์และในที่สุดก็ทำให้เกิดการล่มในเบราว์เซอร์เก่า ในการแก้ปัญหานี้คุณสามารถกำหนดวัตถุคอนโซลด้วยตนเองและประกาศว่าฟังก์ชั่นบันทึกของวัตถุคอนโซลเป็นฟังก์ชันที่ว่างเปล่า ด้วยวิธีนี้เมื่อมีการดำเนินการคำสั่ง console.log () เบราว์เซอร์รุ่นเก่าเหล่านี้จะไม่ทำอะไรเลย:
การคัดลอกรหัสมีดังนี้:
if (! window.console) {
window.console = {log: function () {}};
-
อย่างไรก็ตามในกรณีส่วนใหญ่ไม่จำเป็นต้องทำงานความเข้ากันได้นี้ - รหัสการดีบักเช่น console.log () ควรถูกลบออกจากรหัสผลิตภัณฑ์ขั้นสุดท้าย
พารามิเตอร์การใช้งาน
คล้ายกับฟังก์ชั่นการแจ้งเตือน () คอนโซล log () ยังสามารถยอมรับตัวแปรและแยกพวกเขาด้วยสตริงอื่น ๆ :
การคัดลอกรหัสมีดังนี้:
// ใช้ตัวแปร
ชื่อ var = "bob";
console.log ("ชื่อคือ:" + ชื่อ);
ซึ่งแตกต่างจากฟังก์ชั่นการแจ้งเตือน (), console.log () ยังสามารถยอมรับตัวแปรเป็นพารามิเตอร์ที่จะส่งผ่านไปยังสตริงและไวยากรณ์เฉพาะของมันสอดคล้องกับไวยากรณ์ printf ในภาษา C:
การคัดลอกรหัสมีดังนี้:
// ใช้พารามิเตอร์
var people = "Alex";
Var Years = 42;
console.log (" %s คือ %d ปี", คน, ปี);
ผลการดำเนินการของรหัสข้างต้นคือ: "อเล็กซ์อายุ 42 ปี"
ใช้ระดับบันทึกอื่น ๆ
นอกจาก console.log () แล้ว Firebug ยังรองรับระดับบันทึกที่แตกต่างกันหลากหลาย: การดีบักข้อมูลคำเตือนข้อผิดพลาด รหัสต่อไปนี้จะพิมพ์ระดับบันทึกที่แตกต่างกันเหล่านี้ในคอนโซล:
การคัดลอกรหัสมีดังนี้:
// ใช้ระดับการบันทึกที่แตกต่างกัน
console.log ("ระดับบันทึก");
console.debug ("ระดับดีบัก");
console.info ("ระดับข้อมูล");
console.warn ("ระดับเตือน");
console.error ("ระดับข้อผิดพลาด");
จากคอนโซล Firebug คุณจะเห็นว่าสีและไอคอนของข้อมูลการพิมพ์ในระดับบันทึกที่แตกต่างกันนั้นแตกต่างกัน ในเวลาเดียวกันคุณสามารถเลือกระดับบันทึกที่แตกต่างกันในคอนโซลเพื่อกรองข้อมูลนี้: