"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 > Passando valores e comportamentos de referência de objetos e tipos básicos em chamadas de função javascript

Passando valores e comportamentos de referência de objetos e tipos básicos em chamadas de função javascript

Postado em 2025-05-02
Navegar:174

Pass-by-Reference vs. Pass-by-Value in JavaScript: How Do Objects and Primitives Behave in Function Calls?

javascript pass-by referência vs. pass-by value

javascript emprega mecanismos de passagem por valor e referência. Primitivos, como números e strings, são passados ​​por valor, o que significa que uma cópia do primitiva é criada na função chamada. Por outro lado, os não primitivos, principalmente os objetos, são passados ​​por referência. Isso significa que a modificação da variável de referência na função chamada não afetará a referência no chamador, conforme demonstrado no exemplo fornecido:

var a = {key: 'value'}; substituir (a); // A ainda possui seu valor original atualização (a); // O conteúdo de A altera

var a = { key: 'value' };
replace(a); // a still holds its original value
update(a); // a's contents change
Confusão com a função retângulo

O exemplo na pergunta inclui um retângulo de função aninhada com o meu parâmetro. Este parâmetro é inicialmente indefinido, mas é definido dentro da função. O motivo dessa configuração é fornecer uma maneira de compartilhar dados entre a função retângulo e sua função de área interna. Como tal, quando é atribuído dentro da função de retângulo, cria uma nova referência a um objeto que pode ser modificado tanto dentro do retângulo quanto nas funções da área, mesmo que a função de área não receba diretamente o meu parâmetro.

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