Beberapa waktu yang lalu, saya menjawab perbedaan antara menggunakan kata kunci VAR saat mendefinisikan variabel. Mari kita tinjau.
1. Variabel yang ditentukan dengan menambahkan var ke ruang lingkup fungsi adalah variabel lokal, dan yang didefinisikan tanpa var menjadi variabel global.
Gunakan var untuk mendefinisikan:
var a = 'hello world'; function bb () {var a = 'hello bill'; console.log (a); } bb () // 'halo bill'console.log (a); // 'halo dunia'Tidak menggunakan Definisi VAR:
var a = 'hello world'; function bb () {a = 'hello bill'; console.log (a); } bb () // 'halo bill'console.log (a); // 'halo bill'2. Di bawah lingkup global, variabel yang didefinisikan dengan VAR tidak dapat dihapus, variabel yang didefinisikan tanpa var dapat dihapus. Ini berarti bahwa variabel global implisit benar -benar bukan variabel nyata, tetapi atribut objek global, karena atribut dapat dihapus melalui DELETE, dan variabel tidak mungkin.
3. Menentukan variabel menggunakan VAR juga akan meningkatkan deklarasi variabel, yaitu.
Gunakan var untuk mendefinisikan:
fungsi hh () {console.log (a); var a = 'hello world';} hh () // tidak ditentukanTidak menggunakan Definisi VAR:
fungsi hh () {console.log (a); a = 'halo dunia';} hh () // 'a tidak didefinisikan'Ini adalah deklarasi variabel yang didefinisikan menggunakan VAR terlebih dahulu.
4. Dalam mode 'Gunakan ketat' ES5, jika variabel tidak didefinisikan menggunakan VAR, kesalahan akan dilaporkan.