Rumah > hujung hadapan web > tutorial js > Menguasai JavaScript Lanjutan: Topik Utama dan Soalan Temuduga

Menguasai JavaScript Lanjutan: Topik Utama dan Soalan Temuduga

Mary-Kate Olsen
Lepaskan: 2025-01-04 15:33:47
asal
323 orang telah melayarinya

Mastering Advanced JavaScript: Key Topics and Interview Questions

JavaScript ialah bahasa penting untuk pembangunan web moden, tetapi menguasai konsep lanjutannya boleh membezakan anda sebagai pembangun. Dalam blog ini, kami akan meneroka topik JavaScript lanjutan utama dan menyediakan soalan temu bual dengan jawapan serta contoh untuk membantu anda cemerlang dalam temu duga anda yang seterusnya.

1. Penutupan

Apakah itu penutupan?
Penutupan ialah fungsi yang mengekalkan akses kepada skop luarnya walaupun selepas fungsi luar telah kembali.

Contoh:

function outerFunction(outerVariable) {
    return function innerFunction(innerVariable) {
        console.log(`Outer Variable: ${outerVariable}, Inner Variable: ${innerVariable}`);
    };
}

const closureFunction = outerFunction("Hello");
closureFunction("World");
Salin selepas log masuk
Salin selepas log masuk

Output:

Outer Variable: Hello, Inner Variable: World
Salin selepas log masuk
Salin selepas log masuk

Soalan Temu Bual:
S: Bagaimanakah penutupan boleh digunakan dalam senario praktikal?
J: Penutupan berguna untuk menyembunyikan data, seperti melaksanakan pembolehubah peribadi dalam JavaScript atau mengekalkan keadaan dalam panggilan balik tak segerak.

2. Janji dan Async/Menunggu

Apa itu Janji?

Janji mewakili nilai yang mungkin tersedia sekarang, pada masa hadapan, atau tidak sama sekali. Mereka membenarkan pengendalian operasi tak segerak dengan lebih baik.

Contoh dengan Async/Await:

function fetchData() {
    return new Promise((resolve, reject) => {
        setTimeout(() => resolve("Data fetched"), 2000);
    });
}

async function getData() {
    try {
        const data = await fetchData();
        console.log(data);
    } catch (error) {
        console.error(error);
    }
}

getData();
Salin selepas log masuk
Salin selepas log masuk

Output:

Data fetched
Salin selepas log masuk

Soalan Temu Bual:
S: Apakah perbezaan antara Promise.then() dan async/waiit?
J: Promise.then() ialah kaedah yang digunakan untuk mengendalikan janji, manakala async/wait menyediakan gula sintaktik untuk menjadikan kod tak segerak kelihatan segerak, meningkatkan kebolehbacaan.


3. Gelung Acara dan Model Keselarasan

Bagaimana Gelung Acara berfungsi?
Gelung Acara mengendalikan pelaksanaan kod JavaScript, termasuk panggilan balik dan tugas tak segerak.

Contoh:

console.log("Start");

setTimeout(() => {
    console.log("Timeout");
}, 0);

console.log("End");
Salin selepas log masuk

Output:

Start
End
Timeout
Salin selepas log masuk

Soalan Temu Bual:
S: Terangkan perbezaan antara tindanan panggilan dan gelung peristiwa.
J: Tindanan panggilan menjejaki pelaksanaan fungsi, manakala gelung peristiwa memastikan tugas tak segerak, seperti panggil balik, dilaksanakan sebaik tindanan kosong.


4. Prototaip dan Warisan

Apakah prototaip dalam JavaScript?

Prototaip membenarkan objek mewarisi sifat dan kaedah daripada objek lain.

Contoh:

function Person(name) {
    this.name = name;
}

Person.prototype.greet = function() {
    console.log(`Hello, my name is ${this.name}`);
};

const person1 = new Person("Alice");
person1.greet();
Salin selepas log masuk

Output:

Hello, my name is Alice
Salin selepas log masuk

Soalan Temu Bual:
S: Bagaimanakah warisan prototaip berbeza daripada warisan klasik?
J: Warisan prototaip adalah berdasarkan objek yang diwarisi terus daripada objek lain, manakala warisan klasik bergantung pada hierarki kelas.


5. Karipap

Apa itu kari?

Kari mengubah fungsi dengan berbilang argumen menjadi urutan fungsi, masing-masing mengambil satu argumen.

Contoh:

function outerFunction(outerVariable) {
    return function innerFunction(innerVariable) {
        console.log(`Outer Variable: ${outerVariable}, Inner Variable: ${innerVariable}`);
    };
}

const closureFunction = outerFunction("Hello");
closureFunction("World");
Salin selepas log masuk
Salin selepas log masuk

Output:

Outer Variable: Hello, Inner Variable: World
Salin selepas log masuk
Salin selepas log masuk

Soalan Temu Bual:
S: Mengapa menggunakan karipap dalam JavaScript?
J: Currying mendayakan aplikasi separa, yang boleh meningkatkan kebolehgunaan semula dan kebolehbacaan kod.

6. Sistem Modul

Modul CommonJS lwn. ES

  • CommonJS: Digunakan dalam Node.js, modul dimuatkan secara serentak menggunakan require().
  • Modul ES: Asli kepada JavaScript, modul dimuatkan secara tidak segerak menggunakan import dan eksport.

Contoh:

function fetchData() {
    return new Promise((resolve, reject) => {
        setTimeout(() => resolve("Data fetched"), 2000);
    });
}

async function getData() {
    try {
        const data = await fetchData();
        console.log(data);
    } catch (error) {
        console.error(error);
    }
}

getData();
Salin selepas log masuk
Salin selepas log masuk

Soalan Temu Bual:
S: Apakah faedah menggunakan Modul ES berbanding CommonJS?
J: Modul ES menyokong gegaran pokok untuk mengoptimumkan saiz berkas dan disokong secara asli dalam penyemak imbas moden.

Atas ialah kandungan terperinci Menguasai JavaScript Lanjutan: Topik Utama dan Soalan Temuduga. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan