Un objet JavaScript est une valeur composée, qui est une collection d'attributs ou de valeurs nommées. Il fait référence aux valeurs d'attribut via le symbole "." Lorsque la valeur d'attribut est une fonction, nous l'appelons une méthode. Nous voyons que les chaînes ont également des propriétés et des méthodes:
La copie de code est la suivante:
var s = "Hello, world!";
var word = s.substring (s.indexof ("") + 1, s.length);
Puisqu'une chaîne n'est pas un objet, pourquoi a-t-il des attributs? Tant que l'attribut de la chaîne S est référencé, JavaScript convertira la valeur de chaîne en un objet en appelant le constructeur de nouvelles chaînes. Cet objet hérite de la méthode de chaîne et est utilisé pour traiter la référence à l'attribut. Une fois la référence d'attribut terminée, l'objet nouvellement créé sera détruit (en fait, cet objet ne sera pas 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: créer un objet temporaire via les constructeurs numéro () et boolean (), et les appels à ces méthodes proviennent de cet objet temporaire. Cet objet temporaire est appelé un objet wrapper.
Avis:
La copie de code est la suivante:
var s = "test"; // déclare une chaîne
S.Len = 4; // définit une propriété Len pour cela
var t = s.len; // interroge cette propriété
À l'heure actuelle, lorsque nous sortions T, nous devons non définis. La deuxième ligne de code crée un objet de chaîne temporaire et attribue sa valeur d'attribut Len à 4, puis détruit l'objet. La troisième ligne de codes définit un nouvel attribut via la valeur de chaîne d'origine S et essaie de lire son attribut LEN. Cet attribut n'existe naturellement pas, donc la valeur lorsque t est la sortie n'est pas définie.
Ce code montre que lors de la lecture des valeurs (ou des méthodes) d'attribut de nombres, de chaînes et de valeurs booléennes, elle se comporte comme un objet, mais lorsqu'il essaie d'attribuer des valeurs à ses attributs, cette opération est ignorée: la modification ne se produit que sur un objet temporaire, et cet objet temporaire ne continue pas d'être conservé.
L'objet temporaire créé lors de l'accès à une propriété d'une chaîne, d'un numéro ou d'un objet booléen est appelé un objet wrapper. Il est uniquement utilisé pour distinguer les valeurs de chaîne et les objets de chaîne, les objets numériques, les valeurs booléennes et les objets booléens.