Mari berurusan dengan masalah pertama terlebih dahulu: 1. Periksa kode sumber fungsi yang direkomendasikan oleh fungsi ini di bawah artikel
Ini sebenarnya sangat sederhana, cukup klik kaca pembesar untuk memilih rekomendasi.
Sair ini (CB_ENTRYID, 'Digg') adalah fungsi yang disebut oleh tombol yang disarankan. Bukankah itu sangat sederhana?
Masalah kedua adalah menemukan lokasi file di mana fungsi berada.
Bahkan, ini juga sangat sederhana. Tentu saja, teman -teman yang tidak akrab dengan konsol mungkin tidak tahu cara membacanya.
Saya mengetik sapi di konsol dan tekan enter,
Kode Sumber Fungsi ditampilkan secara kasar, dan ada tautan blog-common.js? V = we8o1xrgctu07qvvwyqerqd7aa8fdjp_dgoe-crat3k1: 1 Apa artinya?
V berikutnya = we8o1xrgctu07qvvwyqerqd7aa8fdjp_dgoe-crat3k1 diabaikan secara langsung.
PS: Jika Anda ingin tahu apa ini, itu sebenarnya adalah nomor versi. Adapun apa yang dilakukannya, seringkali untuk mencegah caching. Harap cari detailnya secara online.
Blog-Common.js: 1 hampir berarti ini. .
Blog-Common.js adalah file JS di mana fungsi ini berada
1 adalah nomor baris di mana kode berada.
Klik tautan ini secara langsung untuk melompat ke panel Sumber. Ini adalah panel sumber, fungsi terpenting dari debugging, dan akan diperkenalkan perlahan nanti.
Tetapi semua kode ada di satu baris, bagaimana kita melihatnya? 4946 karakter dikurangi pada satu baris. .
Chrome memberi kami fungsi pemformatan kode, klik tombol Print Print di bawah ini untuk memformat kode.
Setelah format selesai, itu akan sangat indah. Adapun apakah Anda bisa memahaminya atau tidak, itu adalah masalah lain.
Beberapa orang tidak dapat memahaminya, mungkin kode tersebut telah disusun oleh alat -alat seperti UglifyJS, penutupan Google, dll., Seperti file jQuery.min.js.
Mungkin juga level Anda terlalu rendah dan Anda tidak dapat memahami kode yang ditulis oleh master untuk saat ini, jadi saya tidak bisa melakukan apa -apa. Anda hanya dapat bekerja keras untuk meningkatkan kekuatan Anda.
Jika formatnya sudah cukup, jangan khawatir, jika saya di sini, mengapa Anda panik?
Kembali ke panel konsol sekarang.
Anda senang menemukan bahwa blog-common.js? V = we8o1xrgctu07qvvwyqerqd7aa8fdjp_dgoe-crat3k1: 91
Nomor baris telah menjadi 91. Sekarang klik tautan ini dan Anda dapat melompat ke posisi yang diformat. Bukankah itu sangat nyaman? .
Pertanyaan terakhir adalah memodifikasi fungsi untuk membatalkannya. Ini adalah yang paling sederhana, jauh lebih sederhana daripada yang sekarang, tetapi banyak orang tidak dapat mengoperasikannya, jadi saya secara khusus mengeluarkannya dan membicarakannya.
Pertama -tama, kita tahu bahwa fungsi yang disarankan untuk memanggil fungsi ini adalah sulung (CB_ENTRYID, 'Digg'), dan ditulis secara langsung dan terikat oleh OnClick pada HTML.
Jadi fungsi ini adalah fungsi global yang dapat dipanggil di mana -mana, jadi apa artinya ini?
Ini berarti kita dapat memodifikasinya, ini seperti variabel global, Anda dapat memodifikasinya di mana saja, bukan? Maka fungsi global harus benar.
Jadi kita bisa memodifikasinya ke fungsi kosong.
votepost = function () {}; atau sumsum = $ .noop; $ .noop adalah fungsi kosong yang disediakan oleh jQuery agar kami nyaman untuk kami gunakan.
Sekarang sumsum adalah fungsi kosong, jadi tidak ada yang akan terjadi jika Anda mengklik tombol rekomendasi.
Tentu saja, itu akan mulai berlaku lagi setelah menyegarkan halaman. Kami hanya men -debug dan memodifikasinya di halaman. Tidak mungkin bagi kita untuk berlaku secara permanen tanpa mengubah kode sumber taman blog.
Jadi debugging berarti proses menemukan dan menghilangkan kesalahan. Jika sumber kesalahan berada, ubah dan kemudian uji. Jika salah, menyegarkan dan memodifikasinya lagi, jadi tidak perlu memodifikasi file yang sebenarnya, yang akan membuatnya tidak dapat dipulihkan.
Konten hari ini hampir semua itu. Faktanya, ada beberapa fungsi global langsung untuk Anda debug, karena jQuery sekarang populer, dan berbagai binding acara seperti klik dan pada penentuan posisi kode sumber sangat rumit.
Untungnya, saya menulis artikel sebelumnya dan menganalisis masalah ini secara lebih rinci. Untuk detailnya, silakan merujuk ke "Diskusi singkat tentang masalah penentuan posisi kode sumber acara jQuery"
Saya tidak terbiasa dengan kerangka kerja lain, jadi saya tidak menganalisisnya, tetapi idenya sebenarnya serupa, dan harus ada mekanisme manajemen acara.
Saya tidak punya banyak pengetahuan hari ini, tetapi saya harus mengkonsolidasikannya sendiri, kalau tidak saya akan melupakannya dalam hitungan detik.
Latihan setelah kelas:
1. Menganalisis bagaimana fungsi sulung mengimplementasikan yang direkomendasikan.
2. Debugging Dinamis dan Analisis Sair. (Untuk menggabungkan pengetahuan breakpoint)
Saya akan berbicara tentang breakpoint dan debugging dinamis besok. Saya belum menemukan pertanyaan yang cocok, jadi saya akan melakukannya terlebih dahulu. Jika Anda memiliki sesuatu yang cocok yang membutuhkan debugging dinamis, tolong balas. .