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