"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso fazer referência a valores internos em um objeto JavaScript?

Como posso fazer referência a valores internos em um objeto JavaScript?

Publicado em 2024-11-06
Navegar:527

How Can I Reference Internal Values within a JavaScript Object?

Como fazer referência a valores internos em um objeto JavaScript

Em JavaScript, acessando valores dentro de um objeto que se referem a outros valores dentro do mesmo objeto às vezes pode ser desafiador. Considere o seguinte trecho de código:

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

alert(obj.key2);

Este código apresenta erros com a mensagem "key1 não está definida." Para resolver esse problema, você pode usar a palavra-chave especial this. No entanto, tentativas de acessar this.key1 ou this[key1] dentro do objeto ainda resultarão em erros.

Usando uma função para fazer referência a valores internos

Em vez de usar acesso direto à propriedade, você pode definir uma função dentro do objeto que retorne o valor desejado. Por exemplo:

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

alert(obj.key2());

Ao definir key2 como uma função, obtemos acesso à palavra-chave this dentro do objeto, permitindo-nos fazer referência a key1. A função alert() agora exibirá a saída correta, "funciona!".

Declaração de lançamento Este artigo foi reimpresso em: 1729313595 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3