javascript - What's the difference between FireBug's console.log() and console.debug()? -


अंतर को स्पष्ट करने के लिए एक बहुत ही सरल कोड।

  var x = [0, 3 , 1, 2]; Console.debug ('debug', x); Console.log ('लॉग', एक्स); // ऊपर एक ही परिणाम x.splice प्रदर्शित (1, 2); // नीचे एक अलग परिणाम कंसोल। Debug ('डीबग', एक्स) की तरह प्रदर्शन; Console.log ('लॉग', एक्स);  

जावास्क्रिप्ट वैल्यू बिल्कुल वैसा ही है, लेकिन console.log () इसे splice () method । इस वजह से मैंने कुछ घंटों तक खो दिया था क्योंकि मैंने सोचा कि बाली मेरी हालत को बहुआयामी या कुछ और बनाने के लिए मजाक उड़ा रही है।

मैं जानना चाहता हूं कि यह ऐसा काम क्यों करता है। क्या कोई जानता है? :)

यदि आप दस्तावेज़ीकरण देख रहे हैं, तो:

कंसोल चार अलग-अलग प्रकार के संदेश जानता है, जो नीचे वर्णित हैं [...]

विभिन्न कमांड के बारे में अधिक जानकारी के लिए कंसोल एपीआई भी देखें।

उस पर एक नज़र पृष्ठ पर console.log :

यदि ऑब्जेक्ट लॉग होते हैं, तो उन्हें स्थिर पाठ के रूप में नहीं लिखा जाएगा, लेकिन इंटरैक्टिव हाइपरलिंक के रूप में ऑब्जेक्ट का निरीक्षण करने के लिए क्लिक किया जा सकता है फायरबग के एचटीएमएल, सीएसएस, स्क्रिप्ट, या डीओएम टैब।

तो, मुझे लगता है कि स्प्लिस से पहले, सरणी आंतरिक रूप से अभी भी है (मुझे पता है, यह < Em> है एक प्रकार का ऑब्जेक्ट), लेकिन ऑपरेशन के बाद, आपको कम से कम आंतरिक रूप से एक सामान्य ऑब्जेक्ट मिलता है मुझे पता है कि यह कमजोर स्पष्टीकरण है, लेकिन कंसोल में फायरबग का अजीब व्यवहार है।

बीटीडब्ल्यू, कुछ भी उपयोगी नहीं कहता है, लेकिन हम इस अनुभाग में Array.prototype.splice (§ 15.4.4.12):

स्प्लिस फ़ंक्शन जानबूझकर सामान्य है; इसकी आवश्यकता नहीं है कि इसकी यह मान एक अर्रे ऑब्जेक्ट हो। इसलिए इसे एक विधि के रूप में इस्तेमाल के लिए अन्य प्रकार की वस्तुओं को स्थानांतरित किया जा सकता है। स्प्लिस फ़ंक्शन सफलतापूर्वक किसी मेजबान ऑब्जेक्ट पर कार्यान्वित किया जा सकता है।


Comments

Popular posts from this blog

windows - Heroku throws SQLITE3 Read only exception -

lex - Building a lexical Analyzer in Java -

python - rename keys in a dictionary -