Dalam JavaScript, anda boleh menggunakan pembolehubah sebelum mengisytiharkannya. Ini dipanggil "angkat angkat". Pengisytiharan dialihkan ke bahagian atas, jadi pembolehubah dikenali walaupun ia digunakan lebih awal.
Dalam JavaScript, terdapat dua jenis angkat:
NOTA:
pembolehubah let dan const tidak dinaikkan dengan cara yang sama seperti pembolehubah var. Ia masih dinaikkan, tetapi ia tidak dimulakan sehingga ia diisytiharkan, jadi cuba mengaksesnya sebelum ia diisytiharkan akan mengakibatkan ReferenceError.
Fungsi angkat dalam JavaScript hanya berfungsi untuk:
Pengisytiharan fungsi: Fungsi yang diisytiharkan menggunakan kata kunci fungsi, seperti ini: function myFunction() { ... }
Ia tidak berfungsi untuk:
Ungkapan fungsi: Fungsi yang diberikan kepada pembolehubah, seperti ini: var myFunction = function() { ... }
Fungsi anak panah: Fungsi yang diisytiharkan menggunakan sintaks anak panah, seperti ini: var myFunction = () => { ... }
Jadi, hanya pengisytiharan fungsi biasa yang dinaikkan dalam JavaScript.
Contoh Variabel Hoisting:
// Using the variable before declaring it console.log(x); // Output: undefined // Declaring the variable var x = 10;
Dalam contoh ini, walaupun x digunakan sebelum ia diisytiharkan, kod itu tidak menimbulkan ralat. Sebaliknya, x dilog sebagai tidak ditentukan. Ini kerana pengisytiharan pembolehubah dinaikkan ke atas.
Contoh Pengangkat Fungsi:
// Calling the function before it's declared myFunction(); // Declaring the function function myFunction() { console.log("Hello, world!"); } // Output: "Hello, world!"
Dalam contoh ini, walaupun kita memanggil myFunction() sebelum ia diisytiharkan, kod itu masih berfungsi kerana pengisytiharan fungsi "dinaikkan" ke bahagian atas skop.
kemudian berikan saya "Boleh sertakan bahagian "amalan terbaik" pantas untuknya
// Using the variable before declaring it console.log(x); // Output: undefined // Declaring the variable var x = 10;
// Calling the function before it's declared myFunction(); // Declaring the function function myFunction() { console.log("Hello, world!"); } // Output: "Hello, world!"
function example() { // Recommended approach let x, y, z; // Rest of your code }
// Recommended let count = 10; const MAX_SIZE = 100; // Avoid var unpredictableVariable;
// Good: Clear and predictable function calculateTotal() { // Function logic } calculateTotal(); // Avoid: Relies on hoisting calculateTotal(); // Risky function calculateTotal() { // Function logic }
Petua Pro
- Sentiasa bertujuan untuk kejelasan kod
- Fahami mengangkat, tetapi jangan bergantung padanya sebagai teknik pengekodan
- Tulis kod yang jelas dan boleh diramal
Atas ialah kandungan terperinci Pengangkatan Javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!