L'objet JavaScript est une valeur composite. C'est une collection d'attributs ou de valeurs nommées. La valeur de l'attribut est référencée par le symbole ".". Lorsque la valeur de l'attribut est une fonction, nous l'appelons une méthode. On voit que les chaînes ont aussi des propriétés et des méthodes :
var s="bonjour le monde !";
var word=s.substring(s.indexof("") 1,s.length);
Puisqu'une chaîne n'est pas un objet, pourquoi a-t-elle des attributs ? Tant que les attributs des chaînes sont référencés, JavaScript convertira la valeur de la chaîne en un objet en appelant le constructeur de la ou des nouvelles chaînes. propriétés de la méthode string, et est utilisé pour gérer les références aux propriétés. Une fois la référence de propriété terminée, l'objet nouvellement créé sera détruit (en fait, cet objet n'est pas nécessairement créé dans l'implémentation, mais l'ensemble du processus ressemble à ceci. ).
Comme les chaînes, les nombres et les valeurs booléennes ont également leurs propres méthodes : un objet temporaire est créé via les constructeurs Number() et Boolean(), et les appels à ces méthodes proviennent de cet objet temporaire. Cet objet temporaire est appelé objet wrapper.
Remarque :
var s="test"; //Déclarer une chaîne
s.len=4;
Var t = s.Len; // Interroge cet attribut
À ce stade, lorsque nous produisons t, il doit être indéfini. La deuxième ligne de code crée un objet chaîne temporaire, attribue à son attribut len une valeur de 4, puis détruit l'objet. La troisième ligne de code en définit un nouveau. la valeur de chaîne d'origine s. Essayez de lire son attribut len. Cet attribut n'existe naturellement pas, donc la valeur lorsque t est sortie n'est pas définie.
Ce code montre que lors de la lecture de la valeur d'attribut (ou méthode) d'un nombre, d'une chaîne ou d'une valeur booléenne, il se comporte comme un objet, mais lorsqu'on tente d'attribuer une valeur à son attribut, cette opération est ignorée : la modification cela se produit simplement sur un objet temporaire qui n'est pas conservé.
L'objet temporaire créé lors de l'accès aux propriétés de chaînes, de nombres ou de valeurs booléennes est appelé un objet wrapper. Il n'est utilisé qu'occasionnellement pour distinguer les valeurs de chaîne et les objets de chaîne, les nombres et les objets numériques, les valeurs booléennes. et objets booléens