Var bukan ciri baharu es6 anda boleh menggunakan kata kunci var untuk mengisytiharkan pembolehubah yang diisytiharkan ialah pembolehubah global dan pembolehubah peringkat teratas . Tugasan yang dimulakan boleh terdiri daripada sebarang jenis , jika tiada nilai ditetapkan, ia adalah nilai lalai.
Persekitaran pengendalian tutorial ini: sistem Windows 10, ECMAScript versi 6.0, komputer Dell G3.
Gunakan kata kunci var untuk mengisytiharkan pembolehubah, yang boleh dimulakan atau tidak ditetapkan Tugasan yang dimulakan boleh daripada sebarang jenis. ia adalah Nilai lalai tidak ditentukan Pengisytiharan var biasanya dalam skop global dan ditambah sebagai sifat tetingkap (kecuali yang diisytiharkan dalam fungsi, yang merupakan skop fungsi).
var
Pembolehubah yang diisytiharkan dengan var ialah pembolehubah global dan pembolehubah peringkat atas (dalam persekitaran penyemak imbas, objek peringkat atas merujuk kepada objek tetingkap, dalam nod merujuk kepada objek global)
Pembolehubah yang menggunakan hayat var mempunyai promosi berubah
Menggunakan var boleh melakukan berbilang operasi pada pengisytiharan pembolehubah, pembolehubah yang diisytiharkan kemudian akan menimpa perisytiharan pembolehubah sebelumnya
Apabila var digunakan untuk mengisytiharkan pembolehubah dalam fungsi, pembolehubah adalah setempat jika var tidak digunakan dalam fungsi, pembolehubah diubah Ia adalah global
Sebaliknya, let ialah ciri baharu es6
let
ialah arahan baharu dalam es6, digunakan untuk mengisytiharkan pembolehubah
serupa dengan var dalam penggunaan, tetapi pembolehubah yang diisytiharkan hanya sah dalam blok kod di mana arahan let terletak, bukan Terdapat promosi berubah-ubah; selagi terdapat perintah let dalam skop peringkat blok, kawasan ini tidak lagi dipengaruhi oleh pengaruh luar
Sebelum menggunakan biarkan untuk mengisytiharkan pembolehubah, pembolehubah itu tidak tersedia, yang sering dikatakan oleh semua orang Zon mati sementara (biar tidak membenarkan pengisytiharan berulang dalam skop yang sama, jadi kami tidak boleh mengisytiharkan semula parameter di dalam fungsi)
var mengisytiharkan pembolehubah
<script> /* *1.使用var 声明变量,可以保存任意数据类型的值, * Undefined、Null、Number、String、Symbol、Boolean、Object 7种类型 *2.在同一代码块位置: * var userName; userName="marshal" * var userName="marshal" 是完全等价有效的 * var 可以以逗号分隔,定义多个变量,分号结束 * var userName,userAge,userAddress; */ var userName="marshal";//var userName;userName="marshal"; console.log(userName); </script>
Gunakan alatan pembangun untuk melihat gambar berikut:
var skop perihalan
Skop: dalam Keterlihatan akses kepada pembolehubah, objek, fungsi dan sumber lain dalam kawasan kod pada masa jalankan. JavaScript terbahagi kepada dua jenis, global dan tempatan. Ia berada pada tahap yang sama dengan teg Skrip dan boleh difahami sebagai global Dalam penyemak imbas, ini dipanggil objek windows, jadi pembolehubah global dan fungsi yang ditakrifkan menggunakan var adalah semua sifat dan kaedah objek tetingkap. Setempat ditakrifkan dalam {} pendakap kerinting, seperti di dalam fungsi, dan ditakrifkan dalam skop setempat Secara umumnya, ia tidak boleh diakses di luar fungsi, tetapi ia boleh diselesaikan melalui penutupan (lebih lanjut mengenai perkara ini kemudian).
<script> /* * 1.定义函数localVariable * 2.在函数内部使用var 声明变量userName,并设置值为marshal * */ function localVariable(){ var userName="marshal"; console.log("函数内部访问"+userName);//输出函数内部访问marshal } localVariable(); console.log("函数外部访问"+userName); //报错:UncaughtReferenceError: userName is not defined </script>
Selepas fungsi localVariable() dipanggil, pembolehubah dan objek yang diisytiharkan menggunakan var di dalam fungsi dalaman dimusnahkan, jadi ralat dilaporkan: UncaughtReferenceError: UserName tidak ditakrifkan
Jika di dalam fungsi, Jika var diabaikan, ia adalah pembolehubah global Kod sampel adalah seperti berikut:
<script> /* * 1.定义函数localVariable * 2.在函数内部省去var关键字 * 3.注不建议省去var 关键字,局部的全局变量很难维护,容易埋坑 */ function localVariable(){ userName="marshal"; console.log("函数内部访问"+userName); } localVariable();//函数调用后,userName变为全局变量,可使用window对象访问。 console.log("函数外部访问"+window.userName); </script>
[Cadangan berkaitan: video javascript. tutorial, bahagian hadapan web】
Atas ialah kandungan terperinci Adakah var ciri baharu es6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!