"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo hacer referencia a valores internos dentro de un objeto JavaScript?

¿Cómo puedo hacer referencia a valores internos dentro de un objeto JavaScript?

Publicado el 2024-11-06
Navegar:731

How Can I Reference Internal Values within a JavaScript Object?

Cómo hacer referencia a valores internos dentro de un objeto JavaScript

En JavaScript, acceder a valores dentro de un objeto que hacen referencia a otros valores dentro del mismo objeto A veces puede ser un desafío. Considere el siguiente fragmento de código:

var obj = {
  key1: "it ",
  key2: key1   " works!"
};

alert(obj.key2);

Este código genera un error con el mensaje "la clave1 no está definida". Para resolver este problema, puede utilizar la palabra clave especial this. Sin embargo, los intentos de acceder a this.key1 o this[key1] dentro del objeto seguirán generando errores.

Usar una función para hacer referencia a valores internos

En lugar de usar Acceso directo a la propiedad, puede definir una función dentro del objeto que devuelva el valor deseado. Por ejemplo:

var obj = {
  key1: "it ",
  key2: function() {
    return this.key1   " works!";
  }
};

alert(obj.key2());

Al definir key2 como una función, obtenemos acceso a la palabra clave this dentro del objeto, lo que nos permite hacer referencia a key1. La función alert() ahora mostrará el resultado correcto, "¡funciona!".

Declaración de liberación Este artículo se reimprime en: 1729313595 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3