आप ब्राउज़र में console.log($('some selector'))
करते हैं, यह रिटर्न क्या एक सरणी (पहली पंक्ति) की तरह दिखता है:
लेकिन लगता है कि यह एक instanceof Array
नहीं है, लेकिन यह वास्तव में the jQuery
object है।
जब आप console.dir($('h1'))
करते हैं, तो यह दिखाता है कि यह वास्तव में jQuery ऑब्जेक्ट है।
सवाल यह है कि वे इसे वेब कंसोल में एक सरणी की तरह कैसे दिख रहे हैं? मैंने jQuery स्रोत here में देखा है, वे कुछ ऐरे और ऑब्जेक्ट विधियों का संदर्भ जोड़ते हैं, और here वे toArray
(और टुकड़ा और अन्य) jQuery
ऑब्जेक्ट में जोड़ते हैं। क्या वेब कंसोल किसी भी तरह इन तरीकों की जांच कर रहा है और यदि उसे एक (toArray
, indexOf
, slice
इत्यादि) मिलता है, तो यह इसे ऐरे के रूप में प्रिंट करता है? मैं इस व्यवहार को किसी भी कस्टम ऑब्जेक्ट से प्राप्त करना चाहता हूं, जैसे Ember.ArrayProxy
। वर्तमान में जब आप Ember.ArrayProxy
लॉग करते हैं तो यह > Object
या जो कुछ भी दिखाता है, लेकिन इसे एक सरणी के रूप में दिखाना अच्छा लगेगा।
कोई विचार?
क्या यह कोड की एक छवि है? – jimw
हां यह एक छवि है –
संबंधित: http://stackoverflow.com/questions/6599071/array-like-objects-in-javascript। – pimvdb