3

この質問では、すべてのネイティブ オブジェクトを取得してグローバル オブジェクトを使用することをお勧めします。ただし、グローバル オブジェクトを介してアクセスできない他のネイティブ オブジェクトがあるため、答えは不完全です。

Argumentsグローバル オブジェクトからの参照がないものを少なくとも 1 つ知っています。グローバル オブジェクトを介してアクセスできない他のコンストラクタは?

この質問はブラウザーに限定されませんが、ノードも含まれる可能性があります。

4

1 に答える 1

1

グローバル オブジェクトで参照されるすべてのオブジェクトを一覧表示すると、ネイティブ オブジェクト(コア言語オブジェクト) とホスト オブジェクト(ホスト環境によって提供されます。ブラウザー、すべての DOM など) が含まれます。コードで使用できるのはこれだけです。

Argumentsそのリストにはコンストラクターがありません。あるかもしれませんが、ありません:

引数オブジェクトは、抽象操作 CreateArgumentsObject ECMAScript 5.1、セクション 10.6を呼び出すことによって作成されます。

大まかに言えば、その操作は通常のObject(標準コンストラクター、標準プロトタイプ) を作成し、 のようないくつかの追加のプロパティでそれを拡張し、lengthその[[Class]]内部プロパティを に設定します"Arguments"。だからarguments.toString()です[object Arguments]

于 2012-10-26T03:07:07.860 に答える