Un objeto JavaScript es un valor compuesto, que es una colección de atributos o valores nombrados. Hace referencia a los valores de los atributos a través del símbolo "." Cuando el valor del atributo es una función, lo llamamos un método. Vemos que las cadenas también tienen propiedades y métodos:
La copia del código es la siguiente:
var s = "¡Hola, mundo!";
var word = s.substring (s.indexof ("")+1, s.length);
Dado que una cadena no es un objeto, ¿por qué tiene atributos? Mientras se haga referencia al atributo de la cadena S, JavaScript convertirá el valor de la cadena en un objeto llamando al constructor de nuevas cadenas (s). Este objeto hereda el método de cadena y se utiliza para procesar la referencia al atributo. Una vez que se complete la referencia de atributos, el objeto recién creado se destruirá (de hecho, este objeto no se creará en la implementación, pero todo el proceso se ve así).
Al igual que las cadenas, los números y los valores booleanos también tienen sus propios métodos: crear un objeto temporal a través de los constructores número () y boolean (), y las llamadas a estos métodos provienen de este objeto temporal. Este objeto temporal se llama objeto de envoltura.
Aviso:
La copia del código es la siguiente:
var s = "prueba"; // declarar una cadena
S.Len = 4; // Establecer una propiedad Len para ello
var t = s.len; // Consulta esta propiedad
En este momento, cuando salimos T, debemos sinfinar. La segunda línea de código crea un objeto de cadena temporal y asigna su valor de atributo LEN a 4, luego destruye el objeto. La tercera línea de código establece un nuevo atributo a través del valor de cadena original y intenta leer su atributo LEN. Este atributo naturalmente no existe, por lo que el valor cuando T es salida no está definido.
Este código muestra que al leer los valores de atributos (o métodos) de números, cadenas y valores booleanos, se comporta como un objeto, pero al intentar asignar valores a sus atributos, esta operación se ignora: la modificación solo ocurre en un objeto temporal, y este objeto temporal no se continúa siendo preservado.
El objeto temporal creado al acceder a una propiedad de una cadena, número o booleano se llama objeto de envoltura. Solo se usa ocasionalmente para distinguir entre valores de cadena y objetos de cadena, objetos numéricos, valores booleanos y objetos booleanos.