Setiap variabel di JavaScript dapat memiliki lingkup, cakupan, atau jangkauan yang manapun, bisa local scope atau global scope:
- Jika lingkup suatu variabel adalah local scope, variabel itu dipertimbangkan sebagai variabel lokal.
- Jika lingkup suatu variabel adalah global scope, variabel itu dipertimbangkan sebagai variabel global.
Local Scope
Suatu variabel dipertimbangkan sebagai variabel lokal, jika dia dideklarasikan di dalam suatu fungsi.
Catatan: Setiap variabel lokal hanya bisa di akses oleh kode-kode yang berada di dalam fungsi di mana variabel itu di deklarasikan.
Contoh kode di bawah ini, name
dipertimbangkan sebagai variabel lokal:
Coba saja anda akses variabel name
dari luar fungsi, apa yang dikembalikan?
Jika anda mencoba kode di atas, tidak akan mengembalikan apapun, karena variabel name
adalah variabel lokal, dan variabel name
hanya bisa di akses oleh kode yang berada di dalam fungsi di mana variabel name
dideklarasikan.
Coba jalankan kode di bawah ini, kali ini variabel name
di akses oleh kode yang berada di dalam fungsi di mana variabel name
dideklarasikan.
Coba jalankan kode di bawah ini, kali ini variabel name
di akses oleh fungsi bernama fooo
yang berada di dalam fungsi di mana variabel name
dideklarasikan.
Global Scope
Suatu variabel dipertimbangkan sebagai variabel global, jika dia dideklarasikan di luar suatu fungsi.
Catatan: Setiap variabel global menyebabkan variabel itu bisa di akses oleh kode-kode yang manapun, dan perlu berhati-hati untuk penggunaannya.
Contoh kode di bawah ini, variabel name
dipertimbangkan sebagai variabel global:
Karena setiap variabel global bisa di akses oleh kode manapun, termasuk oleh kode di dalam suatu fungsi, berikut contohnya:
Ketika mempunyai dua variabel dengan nama yang sama, satu global scope dan satu lagi local scope, sebagai contoh:
Untuk contoh kode di atas:
- Ketika anda mengakses variabel
name
dari dalam fungsi, anda berarti mengakses variabel lokal, yaitu variabelname
bernilai "Gunawan".Contoh ketika mengakses variabel
name
dari dalam fungsi:var name = "Ipin"; // global scope function foo() { var name = "Gunawan"; // local scope alert(name); // "Gunawan" } foo(); - Ketika anda mengakses variabel
name
dari luar fungsi, anda berarti mengakses variabel global, yaitu variabelname
bernilai "Ipin".Contoh ketika mengakses variabel
name
dari luar fungsi:var name = "Ipin"; // global scope function foo() { var name = "Gunawan"; // local scope } foo(); alert(name); // "Ipin"
Tambahan: Jangan lupa selalu menyertakan var setiap mendeklarasikan variabel, jika dihilangkan, menyebabkan perilaku yang tidak terduga.