2012-03-13 2 views
0
var $myDiv = $("div#myDiv");//example 1 
$myDiv.val(); //example 1 

var myDiv = $("div#myDiv"); //example 2 
$(myDiv).val(); //example 2 

上記の例1と例2の間に違いはありますか? パフォーマンスに関してはどちらも同じですか?事前に

おかげ

+0

'$(...)'は関数呼び出しであり、 '$'は関数ですが、 '$ myDiv'の' $ 'は変数名の一部であることを理解していますか? –

答えて

1

編集:今、私はあなたが(2回目または3回目のために)再びあなたのコードの例を編集した参照およびコードは次のようになります。

var $myDiv = $("div#myDiv");//example 1 
$myDiv.val(); //example 1 

var myDiv = $("div#myDiv"); //example 2 
$(myDiv).val(); //example 2 

をこの中で最初の例は、すでに作成したjQueryオブジェクトを直接使用しているため、より効率的です。 2番目の例では、最初のjQueryオブジェクトから新しいjQueryオブジェクトを作成しますが、これは実行する必要はありません。したがって、例1が推奨されます。例2は機能しますが、無駄で不要です。

+0

申し訳ありません、私はちょうど私の悪いを修正しました – user979189

+0

@ user979189 - 私は以前の答えのほとんどを削除し、あなたが今持っているコードの例に基づいて新しい答えを書いた。あなたがやったことをやってはいけません。あるコード例を投稿してから、二度と人が回答を書いている間に変更してください。コード例を投稿する前に、人々が回答を書いている間にすべての時間を無駄にするので、うまくいけば、私が今あなたが今持っているコード例に対処した答えです。 – jfriend00

2

すでに例2で$(myDiv)をもう一度実行する必要はありません。これは、既にjQueryオブジェクトであるためです。 myDiv.val()で十分です。 $()を外すと、例はまったく同じことをします。

+0

申し訳ありません、私はちょうどそれを私の悪い修正 – user979189

+0

あなたの訂正で、私は私の答えを更新しました。 – jasonlfunk

1

例2は、ちょうど別のjqueryインスタンスにjqueryインスタンスをラップしているため、少し遅くなりました(これは何をしているのですか?) - jqueryが正しく処理するために動作しますが、センス。

関連する問題