2013-06-05 10 views
5

javascriptウィンドウとjquery $(ウィンドウ)の違いは何ですか?

私はクロームコンソールにしようと、私はこの取得:だから enter image description here

を、私は結論だろうが、私はそれにjQueryの機能を使用することができますように、jQueryオブジェクトに包まれた「ジャスト」ウィンドウオブジェクトであります(高さ()、幅()など)

私はグーグルで試してみました。

+9

あなたの結論はかなり正しいです。私の意見では、これ以上の説明は必要ありません。 – nnnnnn

+0

実際、あなたは正しいです。 – Igarioshka

+1

同様のもの[jQuery $(this)vs this](http://stackoverflow.com/questions/1051782/jquery-this-vs-this)! –

答えて

4

、あなたはコードのその部分は、JSエンジン上で実行しようとしていることを知っている必要があります我々はそれなどなどwtihデータを関連付けることができ、我々はそのチャイルズにアクセスできるだけで、通常のjQueryオブジェクトと同じように使用することができます。 jQueryオブジェクトの周りにカッコがあるのはなぜですか? $が関数オブジェクトであるためです。基本的には、$関数を呼び出し、ネイティブグローバル、またはwindowオブジェクトを引数として渡しています。

jQueryのソースコードを参照すると、そのオブジェクトが多くの内部関数に渡され、最終的にjQueryラッパーオブジェクトが返されることがわかります。
はい、あなたの前提はかなり正しいです。

0

ウィンドウはグローバルオブジェクトであり、第三者のライブラリとは関係ありません。しかし $(ウィンドウ)はjQueryオブジェクトを返します。 あなたは、ラッパー以外何もないが、すべての可能なjQueryグッズが付属しています。あなたが$(window)を書くとき

+0

'window'はDOMオブジェクトではなく、namelesグローバルオブジェクトへの循環参照です。これを行うスクリプトを書くだけです: 'console.log(this === window);'、それは真になるでしょう。 'console.log(これは。あなたの第二の例 'はconsole.log(this.window - シンプル' 'DOM、どのような場合に –

+0

AAHが真のthatsの、あなたに感謝エリアス –

+0

@EliasVanOotegemで窓===ウィンドウ===本)' === window === this) 'は' false'を記録します。 – nnnnnn

0

あなたがグローバルなwindowオブジェクトを含むjQueryのラッパーです

窓、トゥーレです。この目的は、width()、height()、scrollLeft()、scrollTop()などのjQueryメソッドに即座にアクセスできるローカルスコープのウィンドウ変数を作成することでした。

+1

あなたはプロットを見逃してしまった、と思う:どのようにグローバルオブジェクトのローカルスコープ変数を作成できますか? –

+0

@EliasVanOotegem - 'var localVariable = window;'そうでしょうか?しかし、この答えは実際には意味がありません。なぜなら、変数のスコープはどのメソッドが利用できるかとは関係がないからです。 – nnnnnn

0

windowオブジェクトはウィンドウ自体を表します。あなたは、より多くの説明hereを見つけることができます。上記の説明から、windowプロパティの代わりにdocumentプロパティにアクセスしようとしているようです。次のようになどのプロパティの長さ、高さ、アクセスすることができます。

  • document.height(純粋ジャバスクリプト)または$(文書).height()(jQueryの)
  • document.width(純粋ジャバスクリプト)または$(document).width()(jQuery)

documentの詳細については、hereを参照してください。

+0

'$(window).height()'はなぜですか?ブラウザのビューポートの高さを指定します。これは(一般的に)ドキュメントの高さと同じではありません。 – nnnnnn

+0

これも可能ですが、window.heightはブラウザの代わりにウィンドウの高さを取得するため、別の結果が得られます。したがって、document.heightよりもwindow.innerHeightを使用して、より少ない数値を取得します。使用法は、あなたが達成しようとしているものにほとんど沸騰します。 – user2424941

関連する問題