Pertanyaan pengkodean array javascript github

Untuk mengguncang wawancara untuk mencapai apa yang pantas Anda dapatkan dan untuk meningkatkan konsep Anda tentang teknologi ujung depan, saya telah menggabungkan daftar pertanyaan dan jawaban. Ini adalah solusi satu atap untuk proses wawancara ujung depan

Daftar isi

Pertanyaan Wawancara Angular

Daftar eksklusif Pertanyaan wawancara Angular ada di sini

JavaScript. Pertanyaan Dasar dan Rumit

21+ pertanyaan dan jawaban (untuk menengah)


  1. Apa perbedaan antara
    1
    
    7 dan
    1
    
    8?
  2. Apa perbedaan antara
    1
    
    9 dan
    for (var i = 0; i < 5; i++) {
      setTimeout(function() {
        console.log(i)
      }, i);
    }
    0?
  3. Bagaimana Anda membandingkan dua objek dalam JavaScript?
  4. 11+ pertanyaan terkait benar salah yang akan menipu Anda
  5. Karena
    for (var i = 0; i < 5; i++) {
      setTimeout(function() {
        console.log(i)
      }, i);
    }
    _1 benar,
    for (var i = 0; i < 5; i++) {
      setTimeout(function() {
        console.log(i)
      }, i);
    }
    2 juga harus benar. Baik?
  6. Bagaimana Anda bisa menulis metode pada contoh tanggal yang akan memberi Anda hari berikutnya?
  7. Jika Anda ingin menggunakan objek arbitrer sebagai nilai ini, bagaimana Anda melakukannya?
  8. Tulis fungsi sederhana untuk mengetahui apakah 2 dilewatkan sebagai parameter atau tidak?
  9. Bagaimana Anda bisa menggunakan Matematika. max untuk menemukan nilai max dalam array?
  10. Apa-apaan ini di JavaScript?
  11. 21 pertanyaan cepat yang akan menipu Anda
  12. Bagaimana Anda bisa menetapkan awalan sebelum semua yang Anda catat? . "(aplikasi) pesan saya"
  13. Apa yang akan Anda lihat di konsol untuk contoh berikut?
  14. Lihat kode di bawah ini, Anda memiliki for loop jika Anda memiliki setTimeout di dalamnya. Jika mencatat penghitung loop di dalam setTimeout, apa yang akan dicatat?
  15. Lihat kode di bawah ini, saya memiliki properti di objek dan saya membuat objek baru di mana saya menyetelnya ke nilai baru. Jika saya menghapus properti itu, apa yang akan saya dapatkan jika saya mencoba mengakses properti itu?
  16. Apakah JavaScript melewati parameter berdasarkan nilai atau dengan referensi?
  17. Bagaimana Anda bisa mengimplementasikan cache untuk menghemat waktu perhitungan untuk fungsi fibonacci rekursif?
  18. Bagaimana Anda bisa melakukan cache eksekusi fungsi apa pun?
  19. Jika Anda perlu menerapkan rangkaian berikut dengan panggilan balik, bagaimana Anda menerapkannya?
  20. Bagaimana Anda bisa menerapkan animasi moveLeft?
  21. Bagaimana Anda menerapkan kari untuk fungsi apa pun?

JS. Jawaban untuk Pertanyaan Dasar dan Rumit

css. Pertanyaan Dasar dan Rumit

21+ pertanyaan dan jawaban


  1. Apa yang dilakukan pelampung?
  2. Bagaimana Anda bisa membersihkan sisi elemen mengambang?
  3. Bagaimana Anda bisa membersihkan sisi elemen mengambang?
  4. beberapa pertanyaan rumit dengan gaya api cepat
  5. Apakah nama aturan CSS peka huruf besar-kecil?
  6. Mengapa pemilih css bercampur dengan kasing tidak menerapkan gaya?
  7. Apakah margin-top atau margin-bottom berpengaruh pada elemen inline?
  8. Apakah padding-top atau padding-bottom berpengaruh pada elemen inline?
  9. Apakah padding-left atau padding-right atau margin-left atau margin-right berpengaruh pada elemen inline?
  10. If you have a

    element with font-size: 10rem, will the text be responsive when the user resizes / drags the browser window?

  11. The pseudo class :checked will select inputs with type radio or checkbox, but not
  12. In a HTML document, the pseudo class :root always refers to the element.
  13. Fungsi translate() dapat memindahkan posisi elemen pada sumbu z
  14. Yang mana yang Anda pilih di antara px, em % atau pt dan mengapa?
  15. Bagaimana posisi absolut, relatif, tetap dan statis berbeda?
  16. Apa perbedaan antara visibilitas tersembunyi dan tidak menampilkan apa pun?
  17. Apa perbedaan antara inline, block dan inline-block?
  18. Apa properti yang terkait dengan model kotak?
  19. Apakah meluap. tersembunyi buat konteks pemformatan blok baru?
  20. Bagaimana Anda bisa menerapkan aturan css khusus untuk media?
  21. Apa gunanya hanya?
  22. Apakah kata kunci layar berlaku untuk layar fisik perangkat atau area pandang browser?
  23. Apa beberapa kelas semu yang telah Anda gunakan?
  24. Bagaimana Anda menyelaraskan p center-center di dalam div?
  25. Bagaimana Anda mengoptimalkan pemilih css?
  26. Bagaimana Anda memuat sumber daya css secara kondisional?
  27. Mengapa Anda menggunakan sprite?
  28. Apa itu kekhususan?
  29. Apa itu DOM bayangan?
  30. Apa yang kamu ketahui tentang transisi?
  31. Apa sajakah filter css yang dapat Anda gunakan?
  32. Apa alasan untuk menggunakan preprocessor?
  33. .

CSS. Jawaban untuk Pertanyaan Dasar dan Rumit

css Pertanyaan yang dihapus

Sepertinya ini untuk desainer hardcore. Karenanya, tidak dibuat untuk pengembang


  1. Bagaimana penyeleksi css turunan dicocokkan?
  2. Bagaimana Anda menerapkan modularitas dalam css?
  3. Jika sesuatu tidak berfungsi di browser tertentu (IE8), Anda akan mendekati masalah ini?
  4. Bagaimana Anda menguji kompatibilitas lintas-browser dari situs Anda?
  5. Apa peretasan terhebat yang Anda lakukan di css sejauh ini?
  6. Apa itu tata letak kisi?
  7. Bagaimana Anda bisa membuat situs responsif?
  8. Mengapa mengatur ulang css berguna? . css berfungsi?
  9. Apa yang Anda ketahui tentang bayangan teks, bayangan kotak?

JavaScript. Tingkat Pemula Algoritma

20 pertanyaan dan jawaban (untuk pemula)


  1. Verifikasi bilangan prima?
  2. Menemukan semua faktor prima dari suatu bilangan?
  3. Dapatkan angka Fibonacci ke-n?
  4. Temukan pembagi persekutuan terbesar dari dua angka?
  5. Hapus duplikat anggota dari array?
  6. menggabungkan dua array yang diurutkan?
  7. Tukar dua angka tanpa menggunakan variabel temp?
  8. Balikkan string dalam JavaScript?
  9. Bagaimana Anda membalikkan kata-kata dalam sebuah kalimat?
  10. Membalikkan kata-kata di tempat?
  11. Temukan karakter pertama yang tidak berulang dalam sebuah string?
  12. Hapus karakter duplikat dari sengatan?
  13. Bagaimana Anda memverifikasi kata sebagai palindrom?
  14. Hasilkan acak antara 5 hingga 7 dengan menggunakan fungsi yang ditentukan
  15. Temukan nomor yang hilang dari array bilangan bulat yang tidak disortir
  16. Dapatkan dua angka yang sama dengan angka yang diberikan?
  17. Temukan jumlah terbesar dari dua elemen?
  18. Jumlah total nol dari 1 sampai n?
  19. Periksa apakah string yang diberikan adalah substring dari string yang lebih besar
  20. Dapatkan permutasi dari sebuah string

JS. Jawaban untuk Tingkat Pemula Algoritma

JavaScript untuk Pengembang Tingkat Menengah

  1. Apa rangkaian acaranya?
  2. Bagaimana Anda menjelaskan penutupan?
  3. Bagaimana Anda memastikan nilai
    for (var i = 0; i < 5; i++) {
      setTimeout(function() {
        console.log(i)
      }, i);
    }
    _3 bekerja dengan benar di dalam
    for (var i = 0; i < 5; i++) {
      setTimeout(function() {
        console.log(i)
      }, i);
    }
    4?
  4. Berapa kemungkinan nilai yang berbeda untuk
    for (var i = 0; i < 5; i++) {
      setTimeout(function() {
        console.log(i)
      }, i);
    }
    _3?
  5. Apa itu debounce dan bagaimana Anda menerapkan debounce?
  6. Bagaimana Anda berkomunikasi dengan server
  7. Jelaskan Janji kepada nenekmu
  8. Jika dan situs web lambat, bagaimana Anda akan membuatnya lebih cepat?
  9. Fitur ES6 apa yang Anda gunakan selain let, var dan arrow?
  10. Alat bangun apa yang Anda gunakan dan beri tahu saya beberapa keuntungan menggunakan alat bangun itu

JavaScript. Pertanyaan terkait DOM

21+ pertanyaan dan jawaban (untuk Pengembang JS menengah)


  1. Apakah ada perbedaan antara jendela dan dokumen?
  2. Apakah mendokumentasikan. memuat dan jendela. onload api pada saat yang sama?
  3. Apakah atribut mirip dengan properti?
  4. Apa saja cara berbeda untuk mendapatkan elemen dari DOM?
  5. Apa cara tercepat untuk memilih elemen dengan menggunakan pemilih css?
  6. Kenapa, saya tidak bisa menggunakan forEach atau metode array serupa di NodeList?
  7. Jika Anda perlu menerapkan getElementByAttribute, bagaimana Anda menerapkannya?
  8. Bagaimana Anda menambahkan kelas ke elemen dengan pemilih kueri?
  9. Bagaimana saya bisa memverifikasi apakah satu elemen adalah anak dari yang lain?
  10. Apa cara terbaik untuk membuat elemen DOM?
  11. Apa itu createDocumentFragment dan mengapa Anda mungkin menggunakannya?
  12. Apa itu reflow?
  13. Apa itu pengecatan ulang dan kapan ini terjadi?
  14. Bagaimana Anda bisa memastikan untuk menjalankan beberapa JavaScript saat DOM sudah siap seperti $(document). siap?
  15. Apa itu gelembung acara?
  16. Bagaimana Anda menghancurkan beberapa item daftar dengan satu penangan klik?
  17. Buat tombol yang dihancurkan dengan mengkliknya tetapi dua tombol baru dibuat di tempatnya
  18. Bagaimana Anda bisa menangkap semua klik di halaman?
  19. Bagaimana Anda bisa mendapatkan semua teks di halaman web?
  20. Apa yang dilakukan kata kunci defer dan async dalam tag skrip?
  21. 10 pertanyaan api cepat

JS. Jawaban untuk Pertanyaan terkait DOM

html. Pertanyaan Dasar untuk Pemula

15 pertanyaan dasar dan jawaban


  1. Mengapa Anda membutuhkan doctype?
  2. Untuk apa atribut data-* digunakan?
  3. Bagaimana Anda bisa menghasilkan kunci publik dalam html?
  4. Bagaimana Anda mengubah arah teks html?
  5. Bagaimana Anda bisa menyorot teks dalam html?
  6. Bisakah Anda menerapkan css ke bagian dokumen html saja?
  7. Akankah browser membuat permintaan http untuk kasus berikut?
  8. Sumber daya mana yang akan diunduh terlebih dahulu?
  9. Apa itu tag opsional?
  10. Apa perbedaan antara div dan rentang?
  11. Bagaimana Anda membedakan antara div, bagian, dan artikel?
  12. Bagaimana Anda memilih svg atau kanvas untuk situs Anda?
  13. Bagaimana cara menyajikan html dalam berbagai bahasa?
  14. Jelaskan mode standar dan quirks
  15. Apa itu tag semantik?

HTML. Jawaban untuk Pertanyaan Dasar

JavaScript. LinkedList (bagian 4. bekerja dalam proses)

Tahap yang sangat kasar. perlu untuk menyelesaikan (untuk menengah)

JavaScript. cari dan Urutkan (bagian 5. bekerja dalam proses)

Tahap yang sangat kasar. perlu untuk menyelesaikan (untuk ahli)

JavaScript. Pohon Pencarian Biner (bagian 6. bekerja dalam proses)

Tahap yang sangat kasar. perlu untuk menyelesaikan (untuk ahli)


Pertanyaan Penting Lainnya

Daftar isi


1. Apa itu penutupan?
  • Akses ke variabel lokal, parameter, variabel dalam lingkup induk, dan variabel global
  • 'Mengingat' lingkungan di mana ia diciptakan
  • Masih memiliki akses ke variabel tersebut bahkan setelah fungsi luar dikembalikan

MDN. "Penutupan" adalah ekspresi (biasanya fungsi) yang dapat memiliki variabel bebas bersama dengan lingkungan yang mengikat variabel tersebut (yang "menutup" ekspresi)

'Penutupan terbentuk ketika fungsi dalam dibuat dapat diakses di luar fungsi di mana itu terkandung, sehingga dapat dieksekusi setelah fungsi luar dikembalikan. Pada saat itu ia masih memiliki akses ke variabel lokal, parameter, dan deklarasi fungsi dalam dari fungsi luarnya. '

Sumber

  • Definisi MDN
  • Memahami Penutupan dengan Mudah
2. Apa perbedaan antara menerapkan, memanggil, dan mengikat?
  • Bind memungkinkan kita untuk menetapkan nilai
    for (var i = 0; i < 5; i++) {
      setTimeout(function() {
        console.log(i)
      }, i);
    }
    _3 pada metode
    • Memungkinkan kita untuk meminjam metode
    • '
      for (var i = 0; i < 5; i++) {
        setTimeout(function() {
          console.log(i)
        }, i);
      }
      7 memungkinkan kita untuk dengan mudah mengatur objek spesifik mana yang akan terikat ke ini ketika fungsi atau metode dipanggil. '
    • Ikat mengembalikan fungsi, panggil & terapkan segera
  • Terapkan memungkinkan kita untuk menjalankan fungsi dengan array parameter
    • setiap parameter diteruskan ke fungsi secara individual
    • baik untuk berbagai jumlah argumen
  • Call mirip dengan bind, tetapi mengambil parameter yang dipisahkan dengan koma

Sumber

  • JS Is Sexy - Metode Terapkan, Panggilan, dan Bind JavaScript
  • Ikatan MDN
3. Apa itu delegasi acara?
  • Delegasi acara adalah strategi di mana Anda melampirkan penangan acara ke elemen induk, bukan pada beberapa elemen anak
  • Contoh klasik. daftar (i. e.
    for (var i = 0; i < 5; i++) {
      setTimeout(function() {
        console.log(i)
      }, i);
    }
    8) dengan beberapa
    for (var i = 0; i < 5; i++) {
      setTimeout(function() {
        console.log(i)
      }, i);
    }
    9 anak
  • Jika Anda ingin melampirkan beberapa perilaku saat pengguna mengeklik
    for (var i = 0; i < 5; i++) {
      setTimeout(function() {
        console.log(i)
      }, i);
    }
    9, Anda bisa melakukannya
      1. lampirkan event handler ke masing-masing
        for (var i = 0; i < 5; i++) {
          setTimeout(function() {
            console.log(i)
          }, i);
        }
        _9 secara khusus, atau
      1. lampirkan satu pendengar acara ke induk
        for (var i = 0; i < 5; i++) {
          setTimeout(function() {
            console.log(i)
          }, i);
        }
        _8 dan tentukan elemen anak mana yang diklik dengan memeriksa objek acara itu sendiri saat muncul

Ini dapat menyederhanakan banyak hal, terutama ketika

for (var i = 0; i < 5; i++) {
  setTimeout(function() {
    console.log(i)
  }, i);
}
9 elemen akan ditambahkan dan dihapus secara dinamis. Mungkin merepotkan untuk memasang dan menghapus semua penangan individual itu secara manual

Sumber

  • David Walsh - Cara Kerja Delegasi Acara JavaScript
  • Info Javascript - Delegasi Acara
4. Apa itu acara menggelegak?
  • Gelembung peristiwa berkaitan dengan bagaimana peristiwa disebarkan melalui elemen di DOM
  • Ketika Anda mengklik sebuah elemen (li misalnya), elemen itu akan menerima acara dan kemudian, kecuali Anda menghentikan propagasi secara eksplisit, acara akan "meluap" ke elemen induknya (ul), dan seterusnya
  • Setelah peristiwa dipicu pada elemen terdalam yang mungkin, peristiwa itu kemudian dipicu pada induk dalam urutan bersarang
  • Gelembung menjamin bahwa klik pada Div 3 akan memicu onclick terlebih dahulu pada elemen terdalam 3 (juga disebut target), kemudian pada elemen 2, dan yang terakhir adalah elemen 1
  • Tatanan tersebut disebut tatanan menggelembung, karena suatu peristiwa menggelembung dari unsur yang paling dalam ke atas melalui induk, seperti gelembung udara di dalam air.
  • elemen terdalam yang memicu elemen disebut
    5
    5
    5
    5
    5
    
    4 atau
    5
    5
    5
    5
    5
    
    5

Sumber

  • Info JS - Apa itu event bubbling dan capture?
  • Stack Overflow - Apa itu event bubbling dan capture?
5. Apa itu mengangkat dan bagaimana cara kerjanya?

MDN

  • 'Mengangkat adalah perilaku JavaScript untuk memindahkan deklarasi ke atas lingkup (lingkup global atau lingkup fungsi saat ini). '
  • Kompiler membaca seluruh program untuk menemukan fungsi/variabel mana yang telah Anda gunakan
  • Hanya deklarasi yang diangkat, bukan inisialisasi
6. Apa konsol ini?

var a = 1;

function b() {
	a = 10;
	return;

	function a() {}

}
b();
console.log(a)

Menjawab

1

  • dalam fungsi
    5
    5
    5
    5
    5
    
    6, fungsi dalam
    5
    5
    5
    5
    5
    
    7 diangkat ke atas lingkup, sebelum
    5
    5
    5
    5
    5
    
    7 ditetapkan kembali ke nilai 10
  • karena
    5
    5
    5
    5
    5
    
    _7 diangkat ke atas lingkup (dalam
    5
    5
    5
    5
    5
    
    6), penugasan ulang 10 tidak mengubah variabel global
    5
    5
    5
    5
    5
    
    7
7. Apa itu rantai prototipe?
  • Setiap objek memiliki properti internal yang disebut prototype, yang terhubung ke objek lain
  • Objek prototipe memiliki objek prototipe sendiri, dan seterusnya – ini disebut rantai prototipe
  • Jika Anda mengikuti rantai prototipe objek, pada akhirnya Anda akan mencapai inti prototipe Objek yang prototipenya nol, menandakan akhir rantai

Untuk apa rantai prototipe digunakan?

  • Saat Anda meminta properti yang tidak dikandung objek, JavaScript akan melihat ke bawah rantai prototipe hingga menemukan properti yang diminta, atau hingga mencapai akhir rantai
  • Perilaku inilah yang memungkinkan kita membuat "kelas", dan menerapkan warisan

Sumber

  • MDN - Warisan dan rantai prototipe
  • JS Is Sexy - Prototipe JavaScript dalam Bahasa Biasa
8a Apa konsol ini?

for (var i = 0; i < 5; i++) {
  setTimeout(function() {
    console.log(i)
  }, i);
}

Menjawab

Hampir bersamaan,

5
5
5
5
5

for (var i = 0; i < 5; i++) {
  setTimeout(function() {
  	console.log(i)
  }, i*500);
};
2 adalah 5 karena for loop telah selesai dan keluar pada saat callback di setTimeout dipanggil. Karena nilai
for (var i = 0; i < 5; i++) {
  setTimeout(function() {
  	console.log(i)
  }, i*500);
};
2 di setiap panggilan balik tidak terikat pada nilai spesifik i, setiap panggilan balik mengembalikan nilai saat ini dari
for (var i = 0; i < 5; i++) {
  setTimeout(function() {
  	console.log(i)
  }, i*500);
};
2

Tampaknya simultan karena penundaan setTimeout diatur pada 0, 1, 2, 3, dan 4 ms

8b Apa konsol ini?

for (var i = 0; i < 5; i++) {
  setTimeout(function() {
  	console.log(i)
  }, i*500);
};

Menjawab

masing-masing terpisah 500ms

5
5
5
5
5

Jawaban serupa seperti di atas, tetapi callback sekarang dipanggil pada 0ms, 500ms, 1s, 1. 5s, dan 2s

8c Bagaimana Anda mengubah kode ini menjadi efek yang diinginkan?

Misalnya, bagaimana Anda bisa menghasilkan output

0
1
2
3
4

dengan jarak 500ms?

Satu jawaban

for (var i = 0; i < 5; i++) {
  (function(i) {
    setTimeout(function() {
      console.log(i);
    }, i * 500);
  })(i);
}

Ubah menjadi IIFE dan berikan nilai

for (var i = 0; i < 5; i++) {
  setTimeout(function() {
  	console.log(i)
  }, i*500);
};
2 untuk masing-masing

Jawaban lain

for (var i = 0; i < 5; i++) {
  setTimeout(function(num) {
    console.log(num)
  }.bind(this, i), i*500);
}

Gunakan 'bind' untuk mengikat nilai

for (var i = 0; i < 5; i++) {
  setTimeout(function() {
  	console.log(i)
  }, i*500);
};
2 untuk setiap callback

9. Pertanyaan cepat

Apa

  1. for (var i = 0; i < 5; i++) {
      setTimeout(function() {
      	console.log(i)
      }, i*500);
    };
    7 ?
  2. for (var i = 0; i < 5; i++) {
      setTimeout(function() {
      	console.log(i)
      }, i*500);
    };
    8?
  3. for (var i = 0; i < 5; i++) {
      setTimeout(function() {
      	console.log(i)
      }, i*500);
    };
    _9?
  4. 5
    5
    5
    5
    5
    
    0
  5. 5
    5
    5
    5
    5
    
    1?
  6. 5
    5
    5
    5
    5
    
    2?
  7. 5
    5
    5
    5
    5
    
    3?
  8. 5
    5
    5
    5
    5
    
    4?
  9. 5
    5
    5
    5
    5
    
    5?
  10. 5
    5
    5
    5
    5
    
    6?
  11. 5
    5
    5
    5
    5
    
    7?
  12. 5
    5
    5
    5
    5
    
    8?

9. Jawaban

  1. for (var i = 0; i < 5; i++) {
      setTimeout(function() {
      	console.log(i)
      }, i*500);
    };
    7 ? . Array diturunkan dari Object
  2. for (var i = 0; i < 5; i++) {
      setTimeout(function() {
      	console.log(i)
      }, i*500);
    };
    8? . argumen adalah objek seperti array
  3. for (var i = 0; i < 5; i++) {
      setTimeout(function() {
      	console.log(i)
      }, i*500);
    };
    _9? . Ini adalah string primitif
  4. 5
    5
    5
    5
    5
    
    0 ? . Menggunakan
    0
    1
    2
    3
    4
    
    _7 konstruktor membuatnya menjadi objek
  5. 5
    5
    5
    5
    5
    
    1? . Catatan samping. ES6 memiliki fungsi
    for (var i = 0; i < 5; i++) {
      (function(i) {
        setTimeout(function() {
          console.log(i);
        }, i * 500);
      })(i);
    }
    0 yang andal akan menguji apakah
    for (var i = 0; i < 5; i++) {
      (function(i) {
        setTimeout(function() {
          console.log(i);
        }, i * 500);
      })(i);
    }
    1 adalah
    for (var i = 0; i < 5; i++) {
      (function(i) {
        setTimeout(function() {
          console.log(i);
        }, i * 500);
      })(i);
    }
    2 atau tidak, tidak seperti ES5
    for (var i = 0; i < 5; i++) {
      (function(i) {
        setTimeout(function() {
          console.log(i);
        }, i * 500);
      })(i);
    }
    3 - lihat Kekurangan ES5
    for (var i = 0; i < 5; i++) {
      (function(i) {
        setTimeout(function() {
          console.log(i);
        }, i * 500);
      })(i);
    }
    3. Penjelasan Stack Overflow mengapa NaN adalah jenis angka
  6. 5
    5
    5
    5
    5
    
    2? . benar dipaksa menjadi 1
  7. 5
    5
    5
    5
    5
    
    3?
  8. 5
    5
    5
    5
    5
    
    4? . Dievaluasi dari kiri ke kanan
  9. 5
    5
    5
    5
    5
    
    5? . -34 dipaksa menjadi -34, dengan cara yang sama +
    for (var i = 0; i < 5; i++) {
      setTimeout(function(num) {
        console.log(num)
      }.bind(this, i), i*500);
    }
    1 dipaksa menjadi 34
  10. 5
    5
    5
    5
    5
    
    6? . Operator koma mengevaluasi setiap operannya (dari kiri ke kanan) dan mengembalikan nilai operan terakhir. Penjelasan detail
  11. 5
    5
    5
    5
    5
    
    7? .
    for (var i = 0; i < 5; i++) {
      setTimeout(function(num) {
        console.log(num)
      }.bind(this, i), i*500);
    }
    _5 akan mengembalikan true
  12. 5
    5
    5
    5
    5
    
    8?
10. Apa yang menentukan nilai 'ini'?

MDN

  • ditentukan oleh bagaimana suatu fungsi dipanggil
  • tidak dapat diatur oleh penugasan selama eksekusi

4 pola utama

  • referensi global (
    for (var i = 0; i < 5; i++) {
      setTimeout(function() {
        console.log(i)
      }, i);
    }
    _3 biasanya mengacu pada objek global)
  • pemanggilan fungsi bebas (objek global)
  • call/apply (argumen pertama untuk call/apply)
  • doa metode (objek di sebelah kiri titik, pada waktu panggilan)
  • mode konstruksi (objek baru dibuat untuk doa itu)

Lihat catatan SDM tentang ringkasan pola penjilidan untuk

for (var i = 0; i < 5; i++) {
  setTimeout(function() {
    console.log(i)
  }, i);
}
3 (karena ini adalah materi berhak cipta, saya tidak akan menaruhnya di sini)

11. Apa rangkaian acaranya?
  • loop acara berjalan dalam satu utas
  • ingin menghindari pemblokiran seluruh utas
  • non-blocking I/O - tentukan panggilan balik yang dipanggil setelah tindakan selesai
  • panggilan balik yang masuk seperti peristiwa yang disebarkan ke loop peristiwa, yang memeriksa peristiwa baru dalam antrean dan memprosesnya
  • alih-alih menunggu hasilnya, Anda dapat mendaftarkan panggilan balik yang dijalankan saat peristiwa dipicu - sehingga Anda dapat menangani tindakan yang memakan waktu lama

Saya sangat merekomendasikan, terutama jika Anda kesulitan memahami loop acara dan pertanyaan seperti #8 dan #14, untuk menonton video ini. Apa-apaan sih event loop itu?

Lainnya

  • Altitude Labs - Apa itu JavaScript Event Loop?
  • MDN - Model konkurensi dan Loop Peristiwa
-- Pertanyaan diambil dari JS By Contoh --12. Apa hasilnya?

var name = "John";

(function(){
   console.log("The name is : " + name);

   var name = "Jane";

   console.log("The name is : " +name);
})();

Menjawab

1
0

Penjelasan di JS Dengan Contoh

13. Apa hasilnya?

1
_1

Menjawab

1
_2

Solusi terperinci oleh JS By Contoh

14. Apa hasilnya?

1
_3

Menjawab

1
_4

Solusi oleh JS Contoh

15. Terapkan kari sedemikian rupa

1
5

Salah satu solusi yang mungkin

Ini hanya solusi saya sendiri. Ke samping.

for (var i = 0; i < 5; i++) {
  setTimeout(function(num) {
    console.log(num)
  }.bind(this, i), i*500);
}
_9 menentukan jumlah argumen yang diharapkan oleh fungsi