Pengangkat pembolehubah JavaScript
Dalam JavaScript, fungsi dan pengisytiharan berubah akan dinaikkan pangkat ke bahagian atas fungsi.
Dalam JavaScript, pembolehubah boleh diisytiharkan selepas digunakan, iaitu pembolehubah boleh digunakan dahulu dan kemudian diisytiharkan.
Dua kejadian berikut akan mencapai hasil yang sama:
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <p id="demo"></p> <script> x = 5; // 变量 x 设置为 5 elem = document.getElementById("demo"); // 查找元素 elem.innerHTML = x; // 在元素中显示 x var x; // 声明 x </script> </body> </html>
Running Instance»
Klik butang "Jalankan Instance" untuk melihat contoh dalam talian
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <p id="demo"></p> <script> var x; // 声明 x x = 5; // 变量 x 设置为 5 elem = document.getElementById("demo"); // 查找元素 elem.innerHTML = x; </script> </body> </html>
Run Instance»
Klik butang "Jalankan contoh" untuk melihat contoh dalam talian
Untuk memahami contoh di atas, anda perlu memahami "pengangkatan (pembolehubah angkat)".
Promosi pembolehubah: Perisytiharan fungsi dan perisytiharan pembolehubah sentiasa "dinaikkan pangkat" secara senyap-senyap ke bahagian atas badan kaedah oleh jurubahasa.
Pengamatan JavaScript tidak akan dipromosikan
JavaScript hanya akan mempromosikan pembolehubah yang diisytiharkan, bukan yang dimulakan.
Dua kejadian berikut mempunyai hasil yang berbeza:
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(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>
Jalankan instance»
Klik butang "Jalankan Instance" untuk melihat contoh dalam talian
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(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>
Jalankan Contoh»
Klik butang "Jalankan Contoh" untuk melihat tika dalam talian
Y bagi contoh 2 keluaran tidak ditentukan Ini kerana pengisytiharan pembolehubah (. var y) dipromosikan tetapi permulaan (y = 7) tidak menggalakkan, jadi pembolehubah y ialah pembolehubah tidak ditentukan.
Contoh 2 Kod seperti ini:
var x = 5; // 初始化 x var y; // 声明 y elem = document.getElementById("demo"); // 查找元素 elem.innerHTML = x + " " + y; // 显示 x 和 y y = 7; // 设置 y 为 7
Isytiharkan pembolehubah anda dalam pengepala
Pengangkat pembolehubah JavaScript tidak diketahui oleh kebanyakan pengaturcara.
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.
Mod ketat JavaScript tidak membenarkan penggunaan pembolehubah yang tidak diisytiharkan.
"mod ketat" |