JavaScript, el objeto de los métodos get y set

1: obtener la sintaxis de los atributos de los objetos unidos a la función se llama cuando la propiedad de la consulta.

2: conjunto cuando se intenta establecer una propiedad, establezca la sintaxis para las propiedades del objeto se unen a la función de llamada.

 3: un ejemplo de atributo de nombre de datos; propiedades de edad después de la escapada, es un conjunto de atributos de acceso, atributos de acceso: cuando el js externos a la función toma el tiempo colocador asignación de edad, cuando el js externos adquirieron función comprador del ir edad, funciones setter y getter se ocultan, vamos a recuperar la función de escritura en la edad.

a) ejemplo Error, error recursivo Hassan

 

        cada persona = {
            Nombre: "zhangsan",
            edad: 18,
            obtener la edad () {
                volver this.age;
            },
        };
        console.log (person.age); // error t.html: 23 no detectada RangeError: Tamaño máximo de la pila de llamadas superó; "pila de llamadas supera el tamaño máximo"
un error

t.html: 23 no detectada RangeError: Tamaño máximo de la pila de llamadas superado
en Object.get edad [como la edad] (t.html: 23)
en Object.get edad [como la edad] (t.html: 24)
a la edad de Object.get [como la edad] (t.html: 24)
en Object.get edad [como la edad] (t.html: 24)
en Object.get edad [como la edad] (t.html: 24)
a la edad de Object.get [como edad] (t.html: 24)
en Object.get edad [como la edad] (t.html: 24)
en Object.get edad [como la edad] (t.html: 24)
a la edad de Object.get [como la edad] (t.html: 24)
en Object.get edad [como la edad] (t.html: 24)

Causa: Este error se produce la mayoría de las causas más comunes son: en algún lugar del código, se llama a una función, que a su vez llama a otra función, y así sucesivamente, hasta el límite de la pila de llamadas. Casi siempre tiene una función recursiva porque la situación básica del insatisfecha

b): Ejemplo correcto

   
        cada persona = {
            _name: "zhangsan",
            _age: 18,
            obtener la edad () {
                volver this._age;
            },
            edad conjunto (valor) {
                console.log ( 'set')
                si (valor> 100) {
                    console.log (entrada Edad `$ {} valor es mayor que 100, incorrecta ')
                } Else {
                    this._age = valor;
                }
            }
        };
        person.age = 111;
        console.log (person.age) // set; entrada más antigua 111 es mayor que 100, no es correcto; 18
        person.age = 10;
        console.log (person.age) // set; 10
//////////////////////////////
        cada persona = {
            Nombre: "zhangsan",
            obtener la edad () {
                18 volver
            },
            edad conjunto (valor) {
                console.log ( 'set')
                si (valor> 100) {
                    console.log (entrada Edad `$ {} valor es mayor que 100, incorrecta ')
                } Else {
                    this.age = valor;
                }
            }
        };
        console.log (person.age) // 18

 

Supongo que te gusta

Origin www.cnblogs.com/yt0817/p/12449116.html
Recomendado
Clasificación