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: