Javascript ialah produk yang mengikut standard ECMAScript, dan semestinya ia mesti mengikut standard ECMAScript.
Mari kita lihat dulu definisi dan penggunaan kata kunci var
Pernyataanvar digunakan untuk mengisytiharkan pembolehubah.
Penciptaan pembolehubah JavaScript juga dipanggil "mengisytiharkan" pembolehubah:
Selepas pembolehubah diisytiharkan, pembolehubah itu kosong (tidak mempunyai nilai).
Salin pembolehubah, operasi adalah seperti berikut:
Apabila mengisytiharkan pembolehubah, anda juga boleh memberikan nilai kepada pembolehubah:
Tatabahasa
Nilai parameter
Parameter | Penerangan |
---|---|
varname | Diperlukan. Nyatakan nama pembolehubah.
Nama boleh ubah boleh mengandungi huruf, nombor, garis bawah dan tanda dolar.
|
nilai | Pilihan. Nyatakan nilai pembolehubah. Nota: Jika pengisytiharan pembolehubah tidak menyatakan nilai, nilai lalainya ialah tidak ditentukan |
Semua orang telah membaca banyak artikel dan mereka semua berkata untuk mengelakkan pengisytiharan tersirat pembolehubah global, yang bermaksud bahawa 'var' mesti ditambah sebelum mengisytiharkan pembolehubah Jadi apakah perbezaan antara menambah 'var' dan tidak menambah 'var'. ?
Mari lihat sekeping kod dahulu
var a = 'aa'; alert(a); //弹出 'aa' alert(window.a)//弹出'aa'
Difahamkan, apabila anda mengisytiharkan pembolehubah global, anda sebenarnya menambah atribut pada objek 'tetingkap' Sekeping kod berikut mempunyai kesan yang sama
a = 'aa'; alert(a); //弹出 'aa' alert(window.a)//弹出'aa'
Kemudian "var a = 'aa' " dan "a = 'aa' " adalah kedua-duanya pembolehubah global, apakah perbezaannya? Lihat dua keping kod berikut
var a = 'aa'; delete window.a; // false a = 'aa'; delete window.a; // true
Mereka semua menambah atribut pada objek 'tetingkap', satu boleh dipadamkan dan satu lagi tidak boleh dipadamkan. Tetapi menambahkan 'var' menjadikannya berkaitan skop Tanpa 'var', anda sentiasa menambah atribut secara dinamik pada objek 'window' Kod berikut membuktikannya
var test = function(){ a = 'aa'; } test(); alert(window.a);//弹出'aa'
Memandangkan objek tetingkap ialah objek global, ia boleh ditinggalkan secara lalai Perenggan berikut mempunyai kesan yang sama
var test = function(){ a = 'aa'; } test(); alert(a);//弹出'aa'
Bercakap mengenai perkara ini, pelajar yang berfikir secara serius mesti mempunyai soalan sekarang, mengapa pembolehubah global yang diisytiharkan secara tersirat boleh dipadamkan, tetapi pembolehubah global yang diisytiharkan secara eksplisit tidak boleh dipadamkan?
Alasannya ialah "padam tidak boleh memadamkan sifat yang kebolehkonfigurasiannya adalah palsu".
delete Object.prototype; // false 不可删除,该属性是不可配置的 var a = 'aa'; delete window.a;//false 不可删除,该属性是不可配置的 function test(){}; delete window.test;//false 不可删除,该属性是不可配置的
Kemudian tidakkah anda faham bahawa pembolehubah global yang diisytiharkan dengan 'var' sebenarnya menambah atribut tidak boleh dikonfigurasikan pada objek 'tetingkap', manakala pembolehubah global yang diisytiharkan tanpa 'var' sebenarnya menambah atribut tidak boleh dikonfigurasikan pada Objek 'window'. Sifat boleh dikonfigurasikan ditambahkan pada objek 'window'.
Perhatikan bahawa di mana sahaja tetingkap digunakan di atas, tetingkap boleh digantikan dengan ini, seperti:
var test = function(){ a = 'aa'; } test(); alert(this.a);//弹出'aa'
Alasannya, sila semak artikel yang saya tulis sebelum ini 'Ini, ini, bincangkan ini dalam javascript lagi, super komprehensif'
Yang berikut mengeluarkan kata kunci var dalam javascript dan menerangkannya secara berasingan kepada semua orang.
Kita tahu bahawa apabila mentakrifkan pembolehubah, kita perlu menggunakan kata kunci Var Apabila menggunakan kata kunci Var, kita perlu memberi perhatian kepada penggunaannya:
Contoh berikut menggambarkan sepenuhnya bahawa Var mempunyai hasil pelaksanaan yang berbeza apabila ia digunakan atau tidak digunakan, dan apabila pembolehubah global dan pembolehubah tempatan ditakrifkan.
var var01 = 1; function funtest() { document.write(var01); var var01 = 0; }
Hasilnya ialah: tidak ditentukan
var var01 = 1; function funtest() { document.write(var01); var01 = 0; }
Hasilnya ialah: 1
var01 = 1; function funtest() { document.write(var01); var var01 = 0; }
Hasilnya ialah: tidak ditentukan
var01 = 1; function funtest() { document.write(var01); var01 = 0; }
Hasilnya ialah: 1
Lihat sejauh mana anda tahu tentang var dalam JavaScript di sini. Saya percaya semua orang akan mendapat sesuatu daripada pembelajaran melalui artikel ini. Untuk mengetahui lebih lanjut tentang javascript var, sila teruskan memberi perhatian kepada laman web ini, terima kasih!