ECMA-262 define un objeto como: "Una colección de atributos desordenados cuyos atributos pueden contener valores, objetos o funciones básicos".
La forma más fácil de comprender un objeto es crear una instancia de un objeto y luego agregarle propiedades y métodos
La copia del código es la siguiente:
Var Person = New Object ();
persona.name = "xulei";
persona.age = "23";
persona.job = "Ingeniero front-end";
persona.sayname = function () {
alerta (this.name);
}
También puedes escribir esto
La copia del código es la siguiente:
Var Person = {
Nombre: "Xulei",
Edad: 23,
Trabajo: "Proyecto front-end",
sayname: function () {
alerta (this.name)
}
}
1. Tipo de atributo: atributos de datos y acceder a sus atributos
1. Atributos de datos, con 4 características que describen su comportamiento
[Configurable]: indica si el atributo se puede eliminar para redefinir el atributo, si las características del atributo pueden modificarse o si el atributo se puede modificar en el atributo del accesor, el valor predeterminado es verdadero
[Enumerable]: indica si el atributo se puede devolver a través de For-In, el valor predeterminado es verdadero
[WRATITY]: indica si el atributo se puede modificar, el valor predeterminado es verdadero
[Valor]: contiene el valor de datos de esta propiedad. El valor predeterminado no está definido
La copia del código es la siguiente:
Var Person = {
Nombre: "Xulei"
}
Aquí se crea un objeto de persona, y el valor del valor es "xulei"
Para modificar las propiedades predeterminadas de una propiedad, el objeto de EcMascript5.defineProperty (el objeto donde se encuentra la propiedad, el nombre de la propiedad, el objeto descriptor) debe usarse)
El objeto descriptor debe ser configurable, enumerable, por su valor.
La copia del código es la siguiente:
var peron = {}
Objeto.defineProperty (perón, "nombre", {
Writable: False, // La propiedad no se puede modificar
Valor: "Xu Lei-Xulei"
});
alerta (peron.name); // xulei-xulei
peron.name = "xu lei";
alerta (peron.name); // xulei-xulei
La operación anterior se ignorará en el modo no riguroso, y se lanzará una excepción en modo estricto.
Una vez que la propiedad se define como poco convencible, no se puede volver a configurar.
En la mayoría de los casos, no es necesario utilizar estas características avanzadas proporcionadas por el método Object.DefineProperty (). Pero es muy útil para comprender JavaScript.
Se recomienda a los lectores que no usen este método en IE8.
2. Acceda a sus propiedades, hay 4 características
[Configurable]: indica si el atributo se puede eliminar para redefinir el atributo, si las características del atributo pueden modificarse o si el atributo se puede modificar en el atributo del accesor, el valor predeterminado es verdadero
[Enumerable]: indica si el atributo se puede devolver a través de For-In, el valor predeterminado es verdadero
[Get]: Funciones llamadas al leer
[Set]: función llamada al escribir atributos