Peramban membaca HTML Anda dari awal hingga akhir dan dapat menjalankannya saat dibaca dan diuraikan menjadi potongan yang dapat dieksekusi (deklarasi variabel, definisi fungsi, dll.) Tetapi pada titik mana pun hanya dapat menggunakan apa yang telah didefinisikan dalam skrip sebelum titik itu.
Ini berbeda dari konteks pemrograman lain yang memproses (kompilasi) semua kode sumber Anda, mungkin menautkannya bersama-sama dengan perpustakaan yang Anda butuhkan untuk menyelesaikan referensi, dan membangun modul yang dapat dieksekusi, di mana titik eksekusi dimulai.
Kode Anda dapat merujuk ke objek bernama (variabel, fungsi lain, dll.) Yang didefinisikan lebih jauh, tetapi Anda tidak dapat menjalankan kode rujukan sampai semua bagian tersedia.
Ketika Anda terbiasa dengan JavaScript, Anda akan sangat menyadari kebutuhan Anda untuk menulis sesuatu dalam urutan yang tepat.
Revisi: Untuk mengonfirmasi jawaban yang diterima (di atas), gunakan Firebug untuk melangkah ke bagian skrip halaman web. Anda akan melihatnya melompat dari fungsi ke fungsi, hanya mengunjungi baris pertama, sebelum benar-benar mengeksekusi kode apa pun.