2

最近、JavaScript のデータ構造のいくつかを調べたいと思っていましたが、それを行う簡単な方法がないことに気付きました。たとえば、次のコードを見てください。

var a="asdf";

a問題は、それ自体の空間には存在しないということです。それは実際にwindowオブジェクトのプロパティになります。これにより、「window オブジェクトを所有しているものはありますか?」などの疑問が生じました。「コンソールはウィンドウに取り付けられたオブジェクトですか?」

変数またはオブジェクトの親オブジェクト (存在すると仮定) を表示できると、非常に便利だと思います。コンソールにこれを伝える方法はありますか?

4

3 に答える 3

2

各 JavaScript 環境には、グローバル変数やその他のグローバルにアクセス可能なものを「保持」するある種のグローバル オブジェクトがあります。ブラウザの JavaScript 環境では、このグローバル オブジェクトがwindowobject です。お気づきのように、ブラウザー内のすべてのグローバル変数は、実際にはwindowオブジェクトのプロパティです。サーバーサイド JS などの他の JavaScript 環境では、グローバル オブジェクトはウィンドウ オブジェクトではありませんが、同様に機能するグローバル オブジェクトがまだ存在します (ただし、同じ組み込みのブラウザー ウィンドウ プロパティはありません)。

変数をクエリして、それを含むオブジェクトが何であるかを調べる一般的な方法はありません。また、場合によっては (関数内のローカル変数など)、変数にアクセスできるオブジェクトを含む JavaScript でアクセスできないことがあります。

オブジェクト自体は、window基本的にブラウザによって所有または制御されます。ブラウザーが新しいブラウザー ウィンドウまたはタブを開くたびに、新しいウィンドウ オブジェクトが作成されます。次に、そのウィンドウ オブジェクトにドキュメントをロードして表示すると、windowdocumentオブジェクトの両方がそのページの JavaScript にアクセスできるようになります。

于 2013-09-27T22:03:24.987 に答える