我想要了解jQuery的编码方式。
他们有一个对象:
jQuery.fn = {
//key value pairs
}
但是,如果我在浏览器控制台中输入
jQuery.fn
,它只会返回[]
而不是对象本身。有人知道为什么吗?我想要了解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
继承的对象,则应使用: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.isPlainObject(jQuery.fn)
,它返回了true,但是jQuery.isArray(jQuery.fn)
返回false,尽管jQuery.fn
被表示为[]
。 - FishBasketGordo