Perbincangan ringkas tentang perbezaan antara mentakrifkan pembolehubah dalam JavaScript dengan atau tanpa kemahiran var declaration_javascript

WBOY
Lepaskan: 2016-05-16 16:39:12
asal
1003 orang telah melayarinya

Beberapa masa lalu, saya menjawab soalan tentang perbezaan antara menggunakan kata kunci var semasa mentakrifkan pembolehubah atau tidak.

1. Dalam skop fungsi, pembolehubah yang ditakrifkan dengan var ialah pembolehubah tempatan dan pembolehubah yang ditakrifkan tanpa var menjadi pembolehubah global.
Gunakan definisi var:

var a = 'hello World';
function bb(){
 var a = 'hello Bill';
 console.log(a);  
}
bb()      //'hello Bill'
console.log(a);  //'hello world'
Salin selepas log masuk

Jangan gunakan definisi var:

var a = 'hello World';
function bb(){
 a = 'hello Bill';
 console.log(a);  
}
bb()      //'hello Bill'
console.log(a);  //'hello Bill'
Salin selepas log masuk

2. Dalam skop global, pembolehubah yang ditakrifkan menggunakan var tidak boleh dipadamkan, dan pembolehubah yang ditakrifkan tanpa var boleh dipadamkan Ini bermakna pembolehubah global tersirat bukanlah pembolehubah sebenar, tetapi atribut objek global boleh dipadam melalui pemadaman, tetapi pembolehubah tidak boleh.

3. Menggunakan var untuk mentakrifkan pembolehubah juga akan mempromosikan perisytiharan pembolehubah, iaitu,
Gunakan definisi var:

function hh(){
 console.log(a);
 var a = 'hello world';
}
hh()      //undefined
Salin selepas log masuk

Jangan gunakan definisi var:

function hh(){
 console.log(a);
 a = 'hello world';
}
hh()      //'a is not defined'
Salin selepas log masuk

Ini ialah pengisytiharan pembolehubah yang ditakrifkan menggunakan var terlebih dahulu.

4. Dalam mod 'guna ketat' ES5, jika pembolehubah tidak ditakrifkan menggunakan var, ralat akan dilaporkan.

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!