亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Pengangkat pembolehubah JavaScript

Apakah keputusan program berikut?

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>php中文網(wǎng)(php.cn)</title> 
<script type="text/javascript">
var foo = 1;
function bar() {
if (!foo) {
var foo = 10;
}
alert(foo);
}
bar();
</script>
</head>
<body>
</body>
</html>

Keputusan muncul: 10

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>php中文網(wǎng)(php.cn)</title> 
<script type="text/javascript">
var a = 1;
function b() {
a = 10;
return;
function a() {}
}
b();
alert(a);
</script>
</head>
<body>
</body>
</html>

Keputusan muncul: 1

Kejutkan anda, betul tak? Apa yang berlaku? Ini mungkin tidak biasa, berbahaya dan mengelirukan, tetapi ia juga sebenarnya merupakan ciri bahasa JavaScript yang sangat berguna dan mengagumkan - angkat boleh ubah.



Pengamatan JavaScript tidak akan menaikkan

JavaScript hanya pembolehubah yang diisytiharkan akan Promosi , permulaan tidak akan.

1.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文網(wǎng)(php.cn)</title>
</head>
<body>
<p id="demo"></p>
<script>
var x = 5; // 初始化 x
var y = 7; // 初始化 y
elem = document.getElementById("demo"); // 查找元素 
elem.innerHTML = x + " " + y;           // 顯示 x 和 y
</script>
</body>
</html>

2.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文網(wǎng)(php.cn)</title>
</head>
<body>
<p id="demo"></p>
<script>
var x = 5; // 初始化 x
elem = document.getElementById("demo"); // 查找元素 
elem.innerHTML = "x 為:" + x + ",y 為:" + y;           // 顯示 x 和 y
var y = 7; // 初始化 y
</script>
</body>
</html>

2 Keluaran y tidak ditentukan, ini kerana pembolehubah Pengisytiharan (var y) dinaikkan, tetapi permulaan (y = 7) tidak dinaikkan, jadi pembolehubah y ialah pembolehubah tidak ditentukan.



Mengisytiharkan pembolehubah anda dalam pengepala

berfungsi untuk kebanyakan pengaturcara Tidak tahu mengenai pengangkat pembolehubah JavaScript.

Jika pengaturcara tidak memahami promosi pembolehubah dengan baik, program yang mereka tulis terdedah kepada masalah.

Untuk mengelakkan masalah ini, kami biasanya mengisytiharkan pembolehubah ini sebelum permulaan setiap skop Ini juga merupakan langkah penghuraian JavaScript biasa dan mudah untuk kami fahami.



Meneruskan pembelajaran
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <p id="demo"></p> <script> var x = 5.5; // 初始化 x elem = document.getElementById("demo"); // 查找元素 elem.innerHTML = "x 為:" + x + ",y 為:" + y; // 顯示 x 和 y var y = 7; // 初始化 y </script> </body> </html>