KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm wondering how it's possible that jQuery objects show up as an array in the console log of Developer Tools in Chrome. E.g. if I execute $('<a>') , what I see in the console log is: [<a></a>] But the following statements are false: var a = $("<a>"); Array.isArray(a); // false a instanceof Array; // false I tried to modify jQuery and see what happens, and one thing that was surprising is that removing length from the jQuery function removes the array notation: length: 0, // commenting this line removes array notation Instead, it then shows up as (arrow is that solid one to expand): > jQuery.jQuery.fn.jQuery.init But, if I try to make my own constructor which is supposed to be displayed in array notation, it does not work: var test = function() { this.length = 0 }; new test(); // Logged (arrow is same one as before): // > test So I'm wondering what in the jQuery code makes Developer Tools show instances as an array. What property/function/thing is added to jQuery that makes Developer Tools handle it as an array when displaying an instance?
Tags (comma-separated)
Save Edits
Cancel