Rumah >hujung hadapan web >tutorial js >Pengangkatan Javascript

Pengangkatan Javascript

Susan Sarandon
Susan Sarandonasal
2025-01-12 16:44:42876semak imbas

Javascript Hoisting

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:

  1. Fungsi Mengangkat: Fungsi yang diisytiharkan menggunakan kata kunci fungsi "dinaikkan" ke bahagian atas skopnya, membolehkannya dipanggil sebelum ia ditakrifkan.
  2. Pengangkatan Pembolehubah: Pembolehubah yang diisytiharkan menggunakan var juga "dinaikkan" ke bahagian atas skopnya, tetapi hanya pengisytiharan yang dinaikkan, bukan tugasan.

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

Amalan Terbaik untuk Mengendalikan Pengangkatan dalam JavaScript

  1. Isytiharkan Pembolehubah di Bahagian Atas
  2. Sentiasa mengisytiharkan pembolehubah pada permulaan skopnya
  3. Meningkatkan kebolehbacaan kod
  4. Menghalang tingkah laku yang tidak dijangka daripada mengangkat
// Using the variable before declaring it
console.log(x);  // Output: undefined

// Declaring the variable
var x = 10;
  1. Let dan const Lebih suka var
  2. Gunakan let dan const untuk lebih banyak kelakuan berubah-ubah yang boleh diramal
  3. Ia mempunyai skop blok dan tidak dinaikkan dengan cara yang sama seperti var
  4. Membantu menghalang akses berubah yang tidak diingini
// Calling the function before it's declared
myFunction();

// Declaring the function
function myFunction() {
console.log("Hello, world!");
}

// Output: "Hello, world!"
  1. Elakkan Bergantung Pada Mengangkat
  2. Jangan tulis kod yang bergantung pada mekanik angkat
  3. Isytihar fungsi dan pembolehubah sebelum menggunakannya
  4. Menjadikan kod anda lebih jelas dan lebih mudah difahami
function example() {
    // Recommended approach
    let x, y, z;

    // Rest of your code
}
  1. Gunakan Mod Ketat
  2. Dayakan 'guna ketat' untuk menangkap kemungkinan ralat berkaitan pengangkatan
  3. Membantu mengenal pasti dan mencegah corak kod yang bermasalah
// Recommended
let count = 10;
const MAX_SIZE = 100;

// Avoid
var unpredictableVariable;
  1. Selaras dengan Pengisytiharan Fungsi
  2. Berpegang pada pengisytiharan fungsi untuk kebolehramalan yang lebih baik
  3. Elakkan mencampurkan pengisytiharan fungsi dan gaya ekspresi
// 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!

Kenyataan:
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
Artikel sebelumnya:React Update Notes CompanionArtikel seterusnya:React Update Notes Companion