Internet Explorer 9 (और 8) में, console
ऑब्जेक्ट केवल तब प्रकट होता है जब डेवलपर टूल किसी विशेष टैब के लिए खोले जाते हैं। यदि आप उस टैब के लिए डेवलपर टूल विंडो छिपाते हैं, तो console
आपके द्वारा नेविगेट किए गए प्रत्येक पृष्ठ के लिए ऑब्जेक्ट उजागर रहता है। यदि आप एक नया टैब खोलते हैं, तो आपको उस टैब के लिए डेवलपर टूल भी खोलना होगा, ताकि console
ऑब्जेक्ट सामने आए।
console
वस्तु किसी भी मानक का हिस्सा नहीं है और दस्तावेज़ ऑब्जेक्ट मॉडल के लिए एक विस्तार है। अन्य DOM ऑब्जेक्ट्स की तरह, इसे एक होस्ट ऑब्जेक्ट माना जाता है और इसे इनहेरिट करने की आवश्यकता नहीं है Object
, न ही इसके तरीकों से Function
, जैसे कि ECMAScript फ़ंक्शंस और ऑब्जेक्ट्स करते हैं। यही कारण है apply
और call
उन तरीकों पर अपरिभाषित हैं। IE 9 में, अधिकांश डोम ऑब्जेक्ट्स को मूल ECMAScript प्रकारों से विरासत में प्राप्त किया गया था। जैसा कि डेवलपर टूल IE (एक्सटेंशन, बिल्ट-इन एक्सटेंशन) के लिए एक एक्सटेंशन माना जाता है, वे स्पष्ट रूप से बाकी डोम के समान सुधार प्राप्त नहीं करते थे।
इसके लायक क्या है, आप अभी भी थोड़े से जादू के साथ कुछ Function.prototype
तरीकों का उपयोग कर सकते हैं :console
bind()
var log = Function.prototype.bind.call(console.log, console);
log.apply(console, ["this", "is", "a", "test"]);
//-> "thisisatest"