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).
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).
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 !