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
であるかどうかを確認する場合は、2つの方法があります。最も単純な方法はですが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のみを入力してみてください。jQuery.fnはプロトタイプです。