หากคุณเรียกใช้สิ่งนี้ในคอนโซล Chrome:
console.log.apply(null, [array])
Chrome ให้ข้อผิดพลาดกลับมา:
// TypeError: Illegal Invocation
ทำไม? (ทดสอบบน Chrome 15 ผ่าน OSX)
หากคุณเรียกใช้สิ่งนี้ในคอนโซล Chrome:
console.log.apply(null, [array])
Chrome ให้ข้อผิดพลาดกลับมา:
// TypeError: Illegal Invocation
ทำไม? (ทดสอบบน Chrome 15 ผ่าน OSX)
คำตอบ:
อาจใช้ไม่ได้ในกรณีที่บริบทการดำเนินการเปลี่ยนจากคอนโซลเป็นอ็อบเจ็กต์อื่น:
คาดว่าเนื่องจาก console.info คาดว่าการอ้างอิง "this" จะเป็นคอนโซลไม่ใช่หน้าต่าง
console.info("stuff") stuff undefined console.info.call(this, "stuff") TypeError: Illegal invocation console.info.call(console, "stuff") stuff undefined
คาดว่าพฤติกรรมนี้
console.info.call(console, "stuff")
กับเบราว์เซอร์ทั้งหมดที่รองรับ ES5 ได้หรือไม่
console.info.apply(console, arguments)