2

jQueryラップセットを作成してに入れるとconsole.log、次のようになります

ここに画像の説明を入力


またはconsoleを表示する際にを「だます」ことができることはわかっています。objectsarrays

var obj = {
    0: 'some',
    1: 'data'
};

として出力されます

ここに画像の説明を入力

しかし、 と を追加するsplice methodlength property、次のようになります。

ここに画像の説明を入力


質問: そのような を作成する関数を作成するにはどうすればよいarray-like objectですか? そのためのjQueryコードがわかりません。functionjQuery

のような結果: myFunction( "some", "data" )


アップデート:

どうやら私は自分自身を十分に明確にしていないようです。関数、コンストラクター、array-like objectコンソールにfunction( elem1, elem2, ...). 完璧な答えには、その簡単な例が含まれています。

4

3 に答える 3

2

firebug コンソールでの jQuery オブジェクトのデフォルトの外観は ですObject[one, two, ...]array-like objectコンストラクターでan を使用すると、同じことができます。チャドの応答のように。

しかし、あなたの場合、FireQuery と呼ばれる Firefox プラグインにより、jQuery オブジェクトの「特別な外観」が得られました: http://firequery.binaryage.com/

私の知る限り、firebug コンソールで同じ結果を得ることはできません。独自のプラグインを作成する場合を除きます。

于 2012-12-17T14:41:59.350 に答える
1

console.dir()を使用しましたか

>>> var myA = ["a","b","c"];  console.dir(myA);
  0    "a"
  1    "b"
  2    "c"
于 2012-12-17T14:05:27.417 に答える
0

存在する場合、値を出力するだけですObject.constructor.name

>>> var Mine = function() {}
undefined

>>> new Mine()
Object {}

//-------------------------------

>>> function Mine() {}
undefined

>>> new Mine()
Mine {}

//-------------------------------

>>> function Mine() {}
undefined

>>> Mine.prototype.length = 10;
10

>>> Mine.prototype.splice = function() {}
function()

>>> new Mine()
Object[undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined]

これは、コンソールで jQuery に対して取得した出力と一致します。

>>> jQuery('span');
Object[span.profile-triangle, span.reputation-score, span, span.badge2, ...]

Firefox v17.0.1 と Firebug v1.11.1 を使用しています。

お役に立てれば。

編集:Function.name関数が作成されると読み取り専用になることにも注意してください1

于 2012-12-17T14:32:12.120 に答える