Obviamente, este es un tema irrelevante para IE (excepto el avanzado, es decir). A pesar de esto, los estudiantes interesados deben aprender sobre la implementación de Getters y Setters en el estándar ECMAScript5. En un objeto, la operación de propiedades o métodos más utilizados es leída (referencia) y se escribe. Por ejemplo, O.Get, que es una operación de lectura, y O.Set = 1 es una operación de escritura. De hecho, en la implementación de los últimos navegadores convencionales, excepto IE, el valor clave de cualquier objeto puede ser reemplazado por métodos Getter y Setter, que se denomina "Atributo de accesor".
No hay duda de que Getter es responsable de consultar el valor, no toma ningún parámetro y Setter es responsable de establecer el valor clave. El valor se pasa en forma de parámetros. En su cuerpo de función, todo el retorno no es válido. A diferencia de las propiedades ordinarias, cuando solo se declara o establecido, la propiedad de memoria no puede haber leído y escritura. Cuando solo tiene un método Getter, solo se lee. Del mismo modo, cuando solo tiene un método Setter, entonces lo que lees siempre está indefinido. ¿Cómo declarar los atributos de memoria del objeto? La forma más rápida es usar la sintaxis de los literales de objetos para escribir. Consulte el siguiente código:
La copia del código es la siguiente:
var oo = {
Nombre: 'Xianxin',
Get Sex () {
regresar 'hombre';
}
};
// Obviamente esto no está permitido, porque Xianxin no quiere que el mundo exterior cambie el hecho de que es un hombre, por lo que solo la función de solo lectura está establecida para el sexo.
oo.sex = 'mujer';
console.log (oo.sex); // El resultado sigue siendo hombre
Curiosamente, esto subvierte nuestra comprensión anterior, es decir, la palabra clave de función no se usa al definir el método. De hecho, obtener o establecer aquí, puede entenderlo como una función en dos estados diferentes: el lado inclusivo (escribir), el lado seguro (leído), cuando un todo se desmembra en una forma diferente, significa que ya no necesitamos seguir la tradición en términos de expresión, por lo que no usamos colons a las claves y valores separados. Luego, continúe con el ejemplo anterior. ¿Cómo se volverá a leer y escribir en función de las propiedades de la memoria? Tal vez el siguiente párrafo le dará la respuesta:
La copia del código es la siguiente:
var oo = {
Nombre: 'Xianxin',
Get Sex () {
if (this.sexx) {
devolver esto.sexx;
}demás{
regresar 'hombre';
}
}, establecer sexo (val) {
this.sexx = val;
}
};
// Oh, él es tan tolerante que incluso las personas cambian su género que lo acepta.
oo.sex = 'mujer';
console.log (oo.sex); // Resultado de la mujer
Tal vez pienses que esto es innecesario, porque podemos ignorar por completo Get and Set y permitir directamente permitir que el método de sexo tenga dos permisos. Pero la razón por la que sacamos Get Get and Set por separado es comprender más claramente la operación de valor clave de ECMAScript5 en el objeto JavaScript, una interpretación más rigurosa. Por supuesto, en China contaminado por IE, las nuevas tecnologías convencionales siempre parecen fuera de lugar. En el desarrollo real del proyecto, es posible que nunca use Get and Set, pero quién puede garantizar que no lo hará en el futuro ...