O que eu não entendi desse código, foi essa chamada do document.getElementById sem passar nenhum parâmetro nem nada.
Como que funciona essa função nesse caso?
Vou dar uma explicação comprida, mas você vai aprender de uma vez por todas.
Em JavaScript, todos os objetos podem ser vistos como “dicionários” (em Java seria algo parecido com “HashTable”), e o operador de busca no dicionário é o “.” mesmo.
Por exemplo, se você passar o nome “getElementById” para procurar dentro do objeto “document”, esse objeto “document” retorna um objeto “getElementById” que é um método e pode ser chamado com algum parâmetro, ou então simplesmente não acha (o tal do “undefined” do JavaScript).
Se um “if” receber um “undefined”, ele entende como “false”.
Ou seja, o programador na verdade está escrevendo isto aqui:
Certo, eu entendi agora, mas então uma outra coisa.
Esse código que eu tenho aqui, o cara usou essa maneira para fazer um menu retrátil (aqueles que expande e contrai, manja?), ai funciona assim, de acordo com a sua expliação: