Généraux
Les navigateurs et autres logiciels utilisant Javascript utilise plusieurs classes prédéfinies et essentiels à Javacript. Voici une liste des principales classes qu'on retrouve dans la majorité des navigateurs:
- Array (tableau) - aussi une fonction
- Boolean (valeur booléenne) - aussi une fonction
- Date - aussi une fonction
- Error (erreur) - aussi une fonction
- Function (fonction) - aussi une fonction
- Math
- Number (nombre) - aussi une fonction
- Object (objet) - aussi une fonction
- RegExp (expression rationnelle) - aussi une fonction
- String (chaîne) - aussi une fonction
Netscape et Mozilla
En plus de tous les objets d'interfaces du DOM 2 Core, DOM 2 HTML, DOM 2 Event, DOM 2 CSS, DOM Range, les objets suivants sont aussi définis:
- java
- JavaArray
- JavaClass
- JavaObject
- JavaPackage
- netscape
- Packages
- sun
XUL
Les technologies XUL et XPCOM permettent d'intégrer des objets C++ en Javascript à l'aide d'interface .idl prédéfinies. On peut obtenir une nouvelle instance d'objet grâce à la syntaxe:
// instance de classe: var newObj = Components.classes["@mozilla.org/directory/className;1"].getInstance(); // instance de classe: var newObj = Components.classes["@mozilla.org/directory/className;2"].getInstance(Components.interfaces.nsIInterfaceName); // service créer une seule fois var newService = Components.classes["@mozilla.org/directory/serviceName;1"].getService(Components.interfaces.nsIInterfaceName);
Exemple:
var prompts = Components.classes["@mozilla.org/embedcomp/prompt-service;1"] .getService(Components.interfaces.nsIPromptService);
On peut aussi ajouter des fonctions et paramètres d'interfaces. Il s'agit en quelques sorte d'héritage d'interfaces dynamique après la création de la classe. On utilise le mot clé "instanceof" à l'aide de la syntaxe suivante:
newObj instanceof Components.interfaces.nsIInterfaceName; newObj instanceof Components.interfaces.nsIInterfaceName2; newObj instanceof Components.interfaces.nsIInterfaceName3;
Les objets XPCOM permettent aussi d'utiliser la fonction QueryInterface.
newObj.QueryInterface(Components.interfaces.nsIInterfaceName);
Le site XULPlanet contient une liste de ces interfaces dans la section XPCOM Reference Interfaces.
Hyperliens...