フロントエンド開発者は、DOM と BOM オブジェクトについてすでによく理解していると思います。これら 2 つのオブジェクトは、入門的な概念であるだけでなく、日常の開発において最もよく知られる概念の 1 つでもあります。フロントエンド開発の知識は高い柔軟性を持っていますが、多くの学生は、遭遇するものはすべて学習するという概念を堅持し、常に少しずつ知識を向上させます。私は個人的には、全体を把握し、日々の積み重ねを改善の手段として使用することを好みます。
要するに、自分に合った方法が一番良いということです。本題に入ります:
グローバル オブジェクト: グローバル オブジェクトが 1 つだけ存在する場合、ホスト環境では、それ自体とそのすべてのプロパティにいつでもアクセスできます。
ルート ノード オブジェクト: すべての属性とメソッドはルート ノード オブジェクトの下にマウントされるため、開発者は属性とメソッドを検索しやすくなります
グローバル オブジェクト: さまざまな属性とメソッドが複数のノード オブジェクトの下にマウントされます。利点は、呼び出しが便利で高速であることです。欠点は、Java 言語によって批判されており、どこで見つけられるかわからないことです。使用時;
DOM オブジェクト 現在のスター NodeJS には固有のグローバル オブジェクトがあり、他のすべてのプロパティとメソッドはこのノード オブジェクトまたはそのサブノード オブジェクトに従属します。 DOM の html
、BOM の window
、NodeJS の global
html
、BOM的window
、NodeJS的global
;
Javascript为了开发者使用的方便,将诸多方法、属性都设置为全局对象/属性,所以Javascript就没有所谓的唯一的根节点对象;
Javascript的全局对象根据是否依赖宿主环境分为两类:
- 核心对象:即ECMAScript Global Object,这些对象在程序执行前已经存在了(默认实例化);
- 宿主环境下的对象:宿主环境提供的全局对象/函数,常见的是浏览器设定并且限制开发者重写的,如:setTimeout、location等,
序号 | 类别 | 栗子 |
---|---|---|
1 | 值属性 | NaN、Infinity、Undefined... |
2 | 函数属性 | eval()、parseInt()、isNaN()、decodeURI().... |
3 | 构造器(类)属性 | Object、Array、Function、String、Boolean、Number、Date、RegExp、Error、RangeError、SyntaxError... |
4 | 其他(类似JAVA中静态类) | Math、JSON... |
不管是Javascript的核心全局对象,还是宿主环境扩充的全局对象;开发者都可以随时调用;其不同之处在于:
1. ECMAScript中定义的核心全局对象是可重写,但不可枚举,即:Writeable=true,Enumerable=false
開発者の便宜を図るため、JavaScript は多くのメソッドとプロパティをグローバル オブジェクト/プロパティとして設定します。 Javascript のルート ノード オブジェクトには、いわゆる固有のものはありません。
Javascript のグローバル オブジェクトは、ホスト環境に依存するかどうかに応じて、次の 2 つのカテゴリに分類されます。
>Writeable=true,Enumerable=false
🎜2. ホスト環境 (主にブラウザ) によって設定されたグローバル オブジェクトは、通常、書き換えることができません🎜以上がJavaScript のオブジェクトの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。