informasi kontak saya
Surat[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Pertanyaan yang sering diajukan dalam wawancara JS front-end mencakup banyak aspek, termasuk sintaksis dasar, struktur dan algoritme data, operasi DOM, pemrograman asinkron, modularisasi, penggunaan kerangka kerja/perpustakaan, dll. Berikut ini adalah beberapa pertanyaan wawancara JS front-end frekuensi tinggi yang umum dan analisis singkatnya:
var
、let
、const
Apa bedanya? Apa cakupan dan siklus hidupnya?i++
Dan++i
Apa bedanya?break
Dancontinue
Apa bedanya bila digunakan dalam satu lingkaran?push
、pop
、shift
、unshift
、splice
、slice
、join
、sort
Tunggu)JSON.parse(JSON.stringify(obj))
, operator spread, rekursi dan metode lainnya)Promise.all
DanPromise.race
?import
/export
), dan apa kelebihannya?this
menunjukkan aturan dan kinerja dalam skenario yang berbeda.Contoh pertanyaan: Tolong jelaskan mekanisme rantai prototipe dalam JavaScript.
menguraikan:
__proto__
Properti (disarankan di ES6Object.getPrototypeOf()
metode), properti ini menunjuk ke konstruktornyaprototype
Atribut.Object.prototype
)。null
, menunjukkan bahwa tidak ada lagi objek prototipe yang perlu dicari.1. Apa saja tipe data dalam JavaScript? Apa perbedaan di antara keduanya?
menjawab:
Ada 8 tipe data dalam JavaScript, termasuk tipe data dasar (Primitive Types) dan tipe data referensi (Reference Types).
Perbedaan utama antara tipe data primitif dan tipe data referensi adalah cara penyimpanan dan penetapannya. Nilai tipe data dasar disimpan dalam memori tumpukan, dan nilai disalin langsung selama penugasan; sedangkan nilai tipe data referensi disimpan dalam memori tumpukan, dan memori tumpukan menyimpan referensi (yaitu alamat) ke nilai tersebut. di memori heap, yang disalin selama penugasan adalah referensi.
2. Bicara tentang cakupan dan penutupan dalam JavaScript?
menjawab:
Cakupan : mengacu pada rentang pengidentifikasi yang valid seperti variabel dan fungsi dalam blok kode. JavaScript pada dasarnya memiliki dua cakupan: cakupan global dan cakupan lokal (termasuk cakupan fungsi, cakupan tingkat blok, dll.). Variabel dalam lingkup global terlihat di seluruh skrip, sedangkan variabel dalam lingkup lokal hanya dapat diakses di dalam blok kode yang mendefinisikannya.
Penutup : berarti suatu fungsi mengingat dan memiliki akses ke cakupan leksikalnya, meskipun fungsi tersebut dijalankan di luar cakupan leksikalnya. Kegunaan utama dari penutupan adalah untuk merangkum variabel pribadi, membuat modul, dll. Penutupan memungkinkan fungsi mengakses dan memanipulasi variabel di luar fungsi, dan variabel ini tidak mudah terkontaminasi atau diubah bahkan di luar fungsi.
3. Jelaskan pemrograman asynchronous dan Promise dalam JavaScript?
menjawab:
Pemrograman asinkron : berarti urutan eksekusi kode tidak berdasarkan perintah penulisan, tetapi ditentukan berdasarkan selesainya kondisi tertentu (seperti permintaan jaringan, pembacaan dan penulisan file, dll.). JavaScript adalah single-threaded, tetapi mengimplementasikan pemrograman asinkron melalui event loop dan fungsi callback.
Janji : adalah objek baru yang diperkenalkan di ES6, digunakan untuk menangani operasi asinkron. Objek Promise mewakili operasi yang mungkin tidak selesai sekarang, namun akan selesai (atau gagal) di masa depan dan nilai hasilnya. Janji memiliki tiga keadaan: tertunda (sedang berlangsung), terpenuhi (berhasil) dan ditolak (gagal). Melalui Promise, kita dapat menulis kode asynchronous secara sinkron, membuat kode lebih ringkas, lebih mudah dipahami dan dipelihara.
4. Bicara tentang penggelembungan peristiwa dan pengambilan peristiwa dalam JavaScript?
menjawab:
Acara menggelegak : berarti peristiwa dimulai dari elemen target dan kemudian menyebar hingga tingkat teratas pohon DOM (yaitu objek dokumen). Selama proses penggelembungan peristiwa, level elemen DOM mana pun dapat menangkap peristiwa tersebut dan memprosesnya.
penangkapan acara : Berlawanan dengan penggelembungan peristiwa, penangkapan peristiwa dimulai dari bagian atas pohon DOM dan kemudian menyebar ke bawah ke elemen target. Selama proses pengambilan peristiwa, elemen DOM tingkat mana pun dapat menangkap peristiwa dan memprosesnya.
Dalam JavaScript, Anda dapat mengatur metode pemrosesan peristiwa melalui parameter ketiga dari metode addEventListener, yaitu menggunakan penggelembungan peristiwa atau penangkapan peristiwa. Jika parameter ketiga benar berarti menggunakan event capture; jika salah atau dihilangkan berarti menggunakan event bubble.
5. Fitur baru apa saja yang diperkenalkan di ES6+?
menjawab:
Banyak fitur baru telah diperkenalkan di ES6 (ECMAScript 2015) dan versi berikutnya, termasuk namun tidak terbatas pada: