Mari kita lihat sepotong kode terlebih dahulu
function show () {alert (ABC); } var abc = "defg"; menunjukkan();Orang -orang yang memiliki pengalaman dalam pemrograman C ++ atau Java dapat mengatakan: "Program ini sudah mati, dan variabel tersebut didefinisikan setelah fungsi yang merujuk variabel. Bug akan menghancurkan Anda." Jika Anda menjalankannya di browser, apa yang akan terjadi? Jalankan dengan sempurna! Selanjutnya, mari kita bicara tentang apa yang terjadi - perbedaan antara variabel dengan VAR dan tanpa definisi VAR.
1. Tidak ada var
Sederhananya, tidak aman untuk menghilangkan var saat mendefinisikan variabel, tetapi legal. Pada saat ini, di mana pun variabel didefinisikan, penerjemah akan menetapkan ruang lingkup variabel global.
2. Memiliki var
Aman dan legal. Ruang lingkup variabel yang ditentukan tergantung pada lokasi yang ditentukan. Adapun lingkupnya, silakan merujuk ke artikel "JavaScript Lingkup" di blog ini.
Dengan cara ini, masalah di awal dapat diselesaikan. Definisi ABC dalam fungsi hanyalah nilai yang tidak ditentukan. Pada saat ini, ABC memiliki ruang lingkup global, dan bagian luar fungsi hanyalah pembaruan nilai ABC.