11

I have seen the following two variable initializations to create an empty jQuery object. Is there a major difference or advantage to use one over the other?

var a = $({});
var b = $();
4

2 に答える 2

27

あなたが意味するなら、それは呼び出しが実際に同等$([])であった昔からのものです(これは文書化されていない機能でした)。したがって、空のセットを取得するには、 を呼び出す必要があります。これはjQuery 1.4 で変更されました。の文書化された機能は、空のセットを返すようになりました。$()$(document)$([])$()

オブジェクトを jQuery コンストラクターに渡すことは、まったく別の獣です。 $({})空の jQuery オブジェクトを作成しません。長さ 1 の jQuery オブジェクトを作成します。選択されたアイテムはオブジェクトそのものです。

JS オブジェクトを jQuery コンストラクターに渡すと、jQuery のより難解な機能、つまり (非 DOM) オブジェクトでのイベントのバインドとトリガーを利用できます。

例えば:

var obj = { some: 'stuff' };

$(obj).on('someevent', function() { ... });

$(obj).trigger('someevent');

いずれにせよ、目的が新しい空の jQuery オブジェクトをインスタンス化することである場合は、$().

于 2012-10-31T01:22:36.610 に答える
3

私はあなたが意味すると思います:

var a = $([]); //<- array not object
var b = $();

私が知っている利点はありません。最初のものは古いバージョンです。1.4 以降を使用できます。

于 2012-10-31T01:20:48.313 に答える