【发布时间】:2011-08-31 18:30:44
【问题描述】:
我想知道 jQuery 对象如何在 Chrome 的开发者工具的控制台日志中显示为数组。
例如如果我执行$('<a>'),我在控制台日志中看到的是:
[<a></a>]
但下列说法是错误的:
var a = $("<a>");
Array.isArray(a); // false
a instanceof Array; // false
我尝试修改 jQuery,看看会发生什么,令人惊讶的是,从 jQuery 函数中删除 length 会删除数组表示法:
length: 0, // commenting this line removes array notation
相反,它会显示为(箭头是要展开的实心箭头):
> jQuery.jQuery.fn.jQuery.init
但是,如果我尝试创建自己的构造函数,它应该以数组表示法显示,它就不起作用:
var test = function() { this.length = 0 };
new test();
// Logged (arrow is same one as before):
// > test
所以我想知道 jQuery 代码中的什么使开发人员工具将实例显示为数组。 jQuery 中添加了哪些属性/函数/事物,使开发人员工具在显示实例时将其作为数组处理?
【问题讨论】:
标签: jquery arrays google-chrome instance