obtener y establecer métodos en JS.

1. ¿Qué son los métodos get y set?

  • get es una forma de obtener un atributo.
  • set es una forma de establecer una propiedad.
  • get es responsable de consultar, sin ningún parámetro.
  • set es responsable de la configuración, que se pasa en forma de parámetros.

2. Cómo usar get y set.

  • get y set son métodos, por lo que pueden ser juzgados.
  • get generalmente se obtiene y debe devolverse.
  • el conjunto se crea y no es necesario devolverlo.
  • Cada objeto tiene un método get y set.
  • Si se llama a la propiedad dentro del objeto, el formato de nomenclatura es agregar antes del nombre de la variable.

3. Definición de obtener y establecer.

  • Definido en el momento de la inicialización del objeto.
  • Definido después de que se define el objeto.
//在对象初始化时定义。
var obj={
    
      
  a: 1,   
  b: 2,   
 set c(x){
    
    
 console.log('c被赋值',x);
 c=x;
 }, 
 get c(){
    
    
 console.log('c被取出',c);
 return c
 }  
 }; 
 obj.c=7  //c被赋值 7
 obj.c  //c被取出 7
 //对象初始化之后可以这样添加属性  
 var obj={
    
      
   a: 1,   
   b: 2  
     }; 
  obj.__defineGetter__('c', function(){
    
    
  return c
  });
  obj.__defineSetter__('c', function(x){
    
    
  c = x
  }); 
  //或者使用  
  Object.defineProperty(obj, 'c', {
    
    
    set:function(x){
    
     
   console.log('c被赋值',x);   
   c=x 
    },  
  get:function(){
    
     
  console.log('c被取出',c)    
  return c  
  }}) 
  obj.c=3  //c被赋值 3
  obj.c  //c被取出 3

ejemplo:

var person={
    
    
    _name:"lisi",
    _age:18,
    //_name的只读。
    get name(){
    
    

        return this._name;
    },
//_age的读写。

    set age(Age){
    
    
        this._age=Age;
    },
    get age(){
    
    
        return this._age ;
    }
};

console.log(person._name+" "+person._age);//lisi 18
person.name='lily';
person.age=21;
console.log(person.name+" "+person.age);//lisi 21
console.log(person._name+" "+person._age);//lisi 21
//因为_name只读不写,所以name不会发生改变。
      

Supongo que te gusta

Origin blog.csdn.net/weixin_46953330/article/details/114885324
Recomendado
Clasificación