Maison  >  Article  >  interface Web  >  Diverses relations d'objet dans JS

Diverses relations d'objet dans JS

不言
不言original
2018-04-10 14:20:441327parcourir


 Une image permet de comprendre la relation entre différents types de javascript

Cette image provient de la page P184 du chapitre 3 de "L'essence du langage JavaScript et de la pratique de la programmation". Récemment, je révise la deuxième version. Cette photo a été refaite. Vous pouvez vous y référer si nécessaire.

De plus, ajoutez les concepts utilisés dans l'image :

1. Construit -in La différence entre les objets (Build-in) et les objets natifs (Naitve) est que les premiers sont toujours créés pendant la phase d'initialisation du moteur et sont un sous-ensemble des seconds tandis que les seconds incluent certains objets créés dynamiquement pendant l'exécution ; objet.

2. Les objets d'extension du moteur ne constituent pas un ensemble trop grand. De manière générale, ils sont relativement certains et ils sont également natifs du. Engine. Object (mais pas un objet natif de la spécification ECMA).

3. L'objet hôte n'est pas un objet natif du moteur, mais un objet enregistré par le framework hôte dans le moteur JavaScript grâce à un mécanisme.

 4. Certains hébergeurs appelleront également les objets/constructeurs qu'ils fournissent « objets natifs », comme Internet. Explorer 7 appelle le XMLHttpRequest() qu'il fournit en natif - par opposition aux objets créés via des méthodes telles que "new ActiveXObject('Microsoft.XMLHTTP')" dans les versions antérieures de celui-ci. Dans ce cas, les lecteurs doivent noter la différence entre « les objets natifs de l’hôte » et les « objets natifs du moteur ».

Réimprimé de : http://www.w3cfuns.com/thread-5594427-1-1.html

Objets locaux JavaScript, objets intégrés, objets hôtes


Objet natif (nécessite NOUVEAU)

ECMA-262 définit l'objet natif comme "ECMAScript indépendant de l'environnement hôte Implémentez l'objet fourni".

Objet, Fonction, Tableau, Chaîne, Booléen, Nombre, Date, RegExp, Erreur, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError, ActiveXObject (serveur), Enumerator (classe de parcours de collection), RegExp ( Expression régulière)

On voit que, tout simplement, les objets locaux sont des classes (types de référence) définies par ECMA-262.


Objets intégrés (pas de NOUVELLE référence directe - uniquement MATH GLOBAL)

Objet d'objets intégrés ECMA-262) est défini comme « tous les objets fournis par une implémentation ECMAScript, indépendamment de l'environnement hôte, qui apparaissent lorsqu'un programme ECMAScript commence son exécution ». Cela signifie que le développeur n'a pas besoin d'instancier explicitement l'objet intégré, il est déjà instancié.

Il est également "indépendant de l'environnement d'accueil". D'après la définition, il semble difficile de faire la différence entre les « objets intégrés » et les « objets locaux ». ECMA-262 ne définit que deux objets intégrés, à savoir Global et Math (ce sont également des objets locaux et, par définition, chaque objet intégré est un objet local).

C’est compréhensible. Les objets intégrés sont un type d'objets locaux. Parmi les deux objets qu’il contient, on utilise souvent l’objet Math, mais quel est cet objet Global ?

L'objet Global est l'objet le plus spécial dans ECMAScript car il n'existe pas du tout ! Dans ECMAScript, il n'y a pas de fonctions indépendantes, toutes les fonctions doivent être des méthodes d'un objet.

Semblables aux méthodes isNaN(), parseInt() et parseFloat(), elles semblent toutes être des fonctions, mais en fait, ce sont toutes des méthodes de l'objet Global. Et les méthodes de l’objet Global ne s’arrêtent pas là. Pour les méthodes et propriétés spécifiques de l'objet Global, les étudiants intéressés peuvent consulter ici : JavaScript Manuel de référence des objets globaux

Objet hôte (BOM DOM et objet personnalisé)

Qu'est-ce qu'un « objet hôte » ? L'« hôte » dans ECMAScript est bien entendu l'environnement d'exécution de notre page Web, c'est-à-dire le « système d'exploitation » et le « navigateur ». Tous les objets non natifs sont des objets hôtes, c'est-à-dire des objets fournis par l'environnement hôte de l'implémentation ECMAScript.

Tous les objets BOM et DOM sont des objets hôtes. Parce qu'il affiche des contenus différents pour différents environnements « hôtes ». En fait, pour parler franchement, les objets qui ne sont pas officiellement définis par ECMAScript appartiennent à l'objet hôte, car la plupart des objets non définis sont des objets créés par le programme ECMAScript. TML DOM est une norme du W3C (abréviation de HTML Document Object Model, Document Object Model for HTML).

HTML DOM définit un ensemble standard d'objets pour HTML, ainsi que des méthodes standard d'accès et de traitement des documents HTML.

Grâce au DOM, vous pouvez accéder à tous les éléments HTML, ainsi qu'au texte et aux attributs qu'ils contiennent. Le contenu peut être modifié et supprimé, et de nouveaux éléments peuvent également être créés.

DHTML DOM est indépendant de la plate-forme et du langage de programmation. Il peut être utilisé par n'importe quel langage de programmation tel que Java, JavaScript et VBScript.

Cliquez sur le lien ci-dessous pour en savoir plus sur l'utilisation de JavaScript pour accéder et manipuler des objets DOM :

Objets DOM :

Le document représente l'intégralité du document HTML et est utilisé pour accéder à tous les éléments de la page. Représentant d'ancrage Area représente l’élément La base représente Body représente l'élément Le bouton représente <élément bouton> L'événement représente le statut de l'événement et le formulaire représente

L'élément Frame représente L'élément Iframe représente