为什么 jQuery.fn 在控制台中显示 []
Why does jQuery.fn display [] in the console?
我试图理解jQuery是如何编码的。
他们有一个对象:
jQuery.fn = {
//key value pairs
}
但是,如果我在浏览器控制台中键入jQuery.fn
,它只会返回[]
而不是对象本身。有谁知道为什么?
jQuery.fn
只是满足开发人员控制台类似数组的要求。它实际上不是一个Array
实例*,但它有一个接口,可以将其视为数组。
*如果jQuery.fn
实际上是一个数组,jQuery.fn instanceof Array
的计算结果会true
;它不是。不过,它确实复制了一些Array.prototype
方法。
如果要检查对象是否实际上是Array
,有两种方法,最简单的方法是obj instanceof Array
,但是对于从Array
继承的对象也是如此。如果要检查对象是否为 Array,但需要排除从Array
继承的对象,则应使用:
function isArray(arg) {
return Object.prototype.toString.call(arg) === '[object Array]';
}
例:
var a, b;
function Foo() {}
Foo.prototype = [];
a = new Foo();
b = [];
a instanceof Array; //true
b instanceof Array; //true
isArray(a); //false
isArray(b); //true
尝试在控制台中只输入jQuery,jQuery.fn是它的原型
相关文章:
- Meteor js-控制台显示'未定义'即使返回结果
- 如何指定在执行控制台时要显示的属性.log对象
- 对象属性在控制台.log中显示为未定义
- 有一种方法可以使jslint在使用控制台时显示警告或错误
- 我的镀铬扩展程序没有't向控制台显示错误,但它显示日志
- 控制台日志未显示简单的$scope
- Node Defender控制台没有't显示console.error()消息
- jQuery显示函数打印到控制台
- 我想显示一个对象's在chrome中的值's控制台
- 控制台.log或显示结果的函数
- 在 Web 中显示控制台
- 量角器 - 如何在输出文本文件中生成执行报告或显示控制台.log消息
- 如何在 eclipse console 中显示 javascript 控制台.log
- JSON请求显示控制台问题
- 创建对象实例时不显示控制台日志记录
- 如何在网页上显示控制台输出
- 如何在web浏览器中显示控制台内容
- 无法显示控制台收到的JSON
- 如何根据状态显示控制台.log
- 如何在Web服务器上显示控制台结果