私は現在、標準に準拠した (HTML5、CSS3、ESv5) ライブラリを構築することを目的として、高度な JavaScript を学習しています。途中で、どこから始めるべきか、何をすべきか、何をすべきでないか、何を避けるべきかなどを把握するために、すでにいくつかの関連する質問をしました。私はすでに ECMA-262 (ECMAScript バージョン 5) のドキュメントを読み始めています。 、開発作業を開始する前に、いくつかのテストを実行しています。
以前の質問:
JavaScript、JScript、および ECMAScript の違いは何ですか?
私の調査では、ブラウザーが異なれば標準の実装も異なり、その点で、実装するオブジェクトも異なることがわかりました。たとえば、IE は ActiveXObject というオブジェクトを実装していますが、FireFox ではそうではありません。そこで、ブラウザ内で何かが定義されているかどうかを判断する小さなテスト機能を作成しました。
いくつかの既知のオブジェクトをテストする以下を検討してください (これは組み込まれていないため、jQuery を含みます)。
繰り返しますが、私は助けが必要なポイントに達しました:
質問:
上記の例では、オブジェクトと関数の違いは何ですか?
ES/JS で関数またはオブジェクトを記述しますか?
Object がオブジェクトではなく関数であるのはなぜですか?
オブジェクト/関数に組み込まれた階層構造はありますか?
組み込みオブジェクト/関数をまったく別のものとして再定義できますか?
組み込みオブジェクト/関数を未定義にすることはできますか?
ネイティブでサポートされていない場合、組み込みオブジェクト/関数に新しい機能を割り当てることはできますか?
オブジェクトが 1 つのブラウザーで定義され、別のブラウザーでは定義されていない場合、これをどのように補正できますか?
PS 特定の実装 (JavaScript/JScript) に関する回答ではなく、標準 (ECMAScript v5) に関する回答が必要です。前もって感謝します!