English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriales básicos de JavaScript

Objetos JavaScript

Funciones JavaScript

HTML DOM JS

BOM del navegador JS

Tutoriales básicos de AJAX

Manual de referencia JavaScript

Métodos de objetos de JavaScript

MétodosSon métodos asociados con un objeto, o funciones relacionadas, un método es un objeto que es una propiedad de una función.

La definición de métodos es idéntica a la de funciones comunes, la diferencia está en que deben asignarse como propiedades del objeto.

Acceder a métodos JavaScript

Para recuperar métodos del objeto, los llamará de la misma manera que una función común, solo que los adjuntará a la variable del objeto.

// Crear un objeto
var user = {
  nombre: "Seagull",
  lastName : "an",
  edad: 22,
  ubicación: "New Delhi",
  getName : function() {
 return this.firstName + " " + this.lastName;
  }
;
//Acceder al método getName()
user.getName();
Prueba ver‹/›

Si se accede a un método sin paréntesis (), se devolverá la definición de la función:

user.getName;
Prueba ver‹/›

UsarthisComo referencia de objeto

JavaScript tiene un keyword especial llamado this, que se puede usar en métodos para referirse al objeto actual.

Quizás ya haya notado que nuestros métodos son un poco extraños. Aquí hay un ejemplo:

  getName: function() {
   return this.firstName + " " + this.lastName;
  }

El keyword this se refiere al objeto interno en el que se escribe el código-Por lo tanto, en este caso, this es equivalente auser.

En otras palabras, this.firstName significaEste objetola propiedad firstName.

Puede usarKeywords JSTutorialesEn JSConozca más sobre el keyword this.

Agregar nuevo método

Para agregar un nuevo método a un objeto, puede usar el operador de asignación (=) para asignar una nueva función a la propiedad.

Este ejemplo agrega el método "greet" al objeto usuario:

user.greet = function() {
    return "Hello World";
;
Prueba ver‹/›

Getters y Setters

ECMAScript 5(2009) introdujo Getters y Setters.

Getter es un método para obtener el valor de un atributo específico.

Setter es un método para establecer el valor de un atributo específico.

Puede definir getters y setters en cualquier objeto nuclear predefinido o objeto definido por el usuario que soporte la adición de nuevas propiedades.

Getter de JavaScript (palabra clave get)

Este ejemplo utiliza get locLa propiedad comoubicaciónValor de la propiedad:

//Crear un objeto
var user = {
  nombre: "Seagull",
  apellido: "Anna",
  edad: 22,
  ubicación: "New Delhi",
  get loc() {
     return this.location;
  }
;
//Mostrar datos de un objeto
document.getElementById("para").innerHTML = user.loc;
Prueba ver‹/›

Setter de JavaScript (palabra clave set)

Este ejemplo utiliza set locLa propiedad comoubicaciónValor de la propiedad:

// Crear un objeto
var user = {
  nombre: "Seagull",
  apellido: "Anna",
  edad: 22,
  ubicación: "New Delhi",
  set loc(x) {
     this.location = x;
  }
;
// Uso de setter para establecer propiedades del objeto
user.loc = "Goa";
// Mostrar datos de un objeto
document.getElementById("para").innerHTML = user.location;
Prueba ver‹/›

Diferencia entre Function función y Getter?

Los siguientes dos ejemplos muestran la diferencia entre function y getter:

Ejemplo1(usando función):
//Crear un objeto
var user = {
  nombre: "Seagull",
  apellido: "Anna",
  edad: 22,
  ubicación: "New Delhi",
  fullName: function() {
      return this.firstName + " " + this.lastName;
  }
;
// Mostrar datos de un objeto
document.getElementById("para").innerHTML = user.fullName();
Prueba ver‹/›
Ejemplo2(usando Getter):
// Crear un objeto
var user = {
  nombre: "Seagull",
  apellido: "Anna",
  edad: 22,
  ubicación: "New Delhi",
  get fullName() {
     return this.firstName + " " + this.lastName;
  }
;
//Mostrar datos de un objeto
document.getElementById("para").innerHTML = user.fullName;
Prueba ver‹/›

Ejemplo1 Tome fullName comoFunciónAcceso: user.fullName().

Ejemplo2 Tome fullName comoPropiedadAcceso: user.fullName.

Uso de getters y setters:

  • Ofrece una sintaxis más simple

  • Permite que la sintaxis de las propiedades y métodos sea la misma

  • Asegura una mejor calidad de datos

  • Es muy útil para el procesamiento en el back-end

Object.defineProperty()

El método Object.defineProperty() también se puede usar para agregar getters y setters.

Sintaxis:
Object.defineProperty(object, property, {value : value})

Vamos a usar el objeto "contador" como ejemplo:

var counter = {i : 0};
Object.defineProperty(counter, "increment", { 
   get: function() {this.i++;}
});
Object.defineProperty(counter, "decrement", { 
   get: function() {this.i--;}
});
Object.defineProperty(counter, "reset", { 
   get: function() {this.i = 0;},
});
Object.defineProperty(counter, "add", {
   set: function (value) {this.i += value;}
});
Object.defineProperty(counter, "subtract", {
   set: function (value) {this.i -= value;}
});
counter.reset;
counter.add = 25;
counter.increment;
Prueba ver‹/›