Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Enxergar a função

Como o arquivo form.js enxerga a função validaPeso() ou validaAltura, que está em outro arquivo (calcula-imc.js), sem referenciá-lo ?

Em tempo de execução e de projeto (porque a IDE também não reclama).

3 respostas
solução!

Oi Champollion, tudo bem? isso só é possível por dois motivos:

1 - Todos os scripts estão carregados na página HTML em uma determinada ordem.

2 - Todas as funções estão em um escopo global, ou seja, em qualquer lugar eu posso chamar qualquer função.

Lembre-se que a execução acontece apenas quando os scripts são carregados. Experimente por exemplo, inverter a ordem de importação dos scripts, alguma coisa com certeza vai parar de funcionar justamente por que a execução de uma função foi chamada antes da função ter sido lida e criada pelo navegador.

Acredito que, por estar no mesmo arquivo ou projeto as Functions fiquem visíveis dentro do Editor e a Aplicação.

Diferente de linguagens Orientada a Objetos onde temos os Modificadores de Acesso, que fazem essa restrição. Obrigando o desenvolvedor criar uma referência a um objeto para então poder acessar os seus métodos.

Essa sua dúvida quem sabe seja melhor resolvida no curso de JavaScript Avançado, em que é utilizado um padrão de orientação a objetos.

Alguem sabe o motivo concreto de não precisar referenciar ou importar o arquivo para ter acesso?

É...realmente alguma coisa falha. Recebi um NaN na coluna IMC da tabela quando clicava no botão adicionar. Então, quer dizer que, a ordem da importação dos arquivos js, reflete na execução do correta do código.

Obrigado pela resposta !