Kita tahu bahwa implementasi JavaScript yang lengkap perlu terdiri dari tiga bagian: ecmascript (Core), BOM (model objek browser), dan DOM (model objek dokumen).
Hari ini saya terutama belajar bom dan dom.
Bom:
BOM menyediakan banyak objek untuk mengakses fungsi browser, yang tidak ada hubungannya dengan konten halaman web (ini adalah bisnis DOM). Saat ini, BOM telah dipindahkan ke spesifikasi HTML5 oleh W3C.
Objek jendela:
Inti dari BOM mewakili contoh browser. Keduanya merupakan antarmuka untuk mengakses jendela browser melalui JavaScript dan objek global yang ditentukan oleh ecmascript. Ini berarti bahwa objek, variabel, dan fungsi apa pun yang ditentukan dalam halaman web memiliki jendela sebagai objek globalnya, sehingga ia memiliki izin untuk mengakses metode seperti paresinint (). (Kutipan dari Elevation III). Selain itu, jika halaman web berisi bingkai, setiap bingkai memiliki objek jendela sendiri dan disimpan dalam koleksi bingkai (Indeks 0 dimulai, LTR, TTB).
Pertama -tama, variabel dan fungsi dalam lingkungan eksekusi global semuanya genera dan metode objek jendela. Tentu saja, ada sedikit perbedaan antara variabel global dan atribut jendela yang didefinisikan secara langsung. Variabel global (tepatnya, mereka harus dinyatakan secara eksplisit variabel global) tidak dapat menggunakan Hapus, sementara atribut jendela baik -baik saja. Selain itu, ada detail lain yang perlu dicatat bahwa mencoba mengakses variabel yang tidak diumumkan akan kesalahan, tetapi tidak ada masalah menggunakan objek jendela kueri.
Jadi, apa sifat atau metode umum jendela?
1.Name, setiap objek jendela memiliki atribut nama, yang berisi nama bingkai. Biasanya untuk memahami hubungan dan kerangka kerja jendela.
2. Metode Posisi Jendela: Moveto (x Koordinat dari posisi baru, y berkoordinasi dari posisi baru), Moveby (gerakan horizontal X, gerakan vertikal y). Kedua metode ini tidak berlaku untuk kerangka kerja.
3. Atribut Ukuran Jendela: Innerwidth/Tinggi (ukuran area tampilan (minus lebar perbatasan)/ *yaitu, safari, firefox */), luar/tinggi (mengembalikan ukuran jendela browser/ *yaitu, safari, firefox */). Di Chrome, bagian dalam dan luar sama -sama mengembalikan ukuran area tampilan.
Tentu saja, Anda dapat mengubah ukuran jendela dengan resizeto (lebar jendela baru, ketinggian jendela baru), mengubah ukuran (hingga lebar asli dan meningkatkan y dibandingkan dengan tinggi asli). Metode lagu cinta ini tidak berlaku untuk struktur kerangka kerja.
4.window.open (url, target jendela, string fitur, apakah halaman baru menggantikan boolean halaman yang saat ini dimuat dalam riwayat browser) digunakan untuk menavigasi ke URL tertentu atau membuka jendela baru. Jika target jendela ditentukan, dan target jendela adalah nama jendela atau bingkai yang ada, URL yang ditentukan akan dimuat di jendela atau bingkai yang telah diganti namanya. Kalau tidak, jendela baru yang terbuka akan disebut sebagai jendela target. Tentu saja, kata kunci yang dapat ditentukan oleh target jendela adalah _self, _parent, _top, _blank.
<a href = // www.vevb.com> klik saya </a> <script> var link = document.getElementsbyTagname ("a") [0]; peringatan (link.nodename); window.onload = function () {link.onClick = function () {window.open (link.href, "good", "width = 400px, tinggi = 300px"); mengembalikan false; }} </skripPengaturan spesifik dari string fitur tidak dirinci di sini. Jika Anda tertarik, Anda dapat mengklik di sini
5. Sebagai bahasa tunggal, JS masih memungkinkan pengaturan waktu tunggu (eksekusi kode setelah acara yang ditentukan) dan nilai waktu interval (loop sekali setiap waktu yang ditentukan) untuk menjadwalkan eksekusi kode pada momen tertentu.
Panggilan Timeout: SetTimeout (string kode JS, waktu milidetik). Sebagai bahasa tunggal, antrian tugas JS hanya dapat mengeksekusi satu potong kode sekaligus. Jika antrian tugas kosong setelah interval waktu yang ditetapkan, string kode akan dieksekusi. Jika tidak, Anda harus menunggu sampai kode sebelumnya dieksekusi sebelum dieksekusi.
var al = setTimeOut (function () {alert ("good");}, 5000); waspada (al); // 2Di sini, saya memanggil fungsi anonim setelah 5 detik untuk menghasilkan bagus. Kotak peringatan muncul di jendela untuk menunjukkan 2. Dapat dilihat bahwa fungsi setTimeout () mengembalikan ID numerik, yang unik. Kemudian kami dapat menghapus panggilan batas waktu melalui ID ini, dan dapat menggunakan ClearTimeOut (ID) untuk menghapusnya.
Panggilan Tidak Langsung: SetInterval (), parameter yang diterimanya sama dengan setTimeout (), dan juga mengembalikan ID numerik dan dibersihkan dengan ClearTimeout ().
6. Metode Kotak Dialog Sistem: Peringatan (), konfirmasi (), prompt (), dll. Ditulis di blog saya sebelumnya, klik di sini
objek lokasi
Daripada menjadi objek di BOM, lokasi adalah properti di objek jendela. Tentu saja, itu juga properti dari objek dokumen di DOM yang akan dibahas nanti. Yaitu, window.location and document.location merujuk ke objek yang sama.
Daftar atribut objek lokasi, memodifikasi atribut ini dapat memuat halaman baru dan menghasilkan catatan baru dalam sejarah. Menggunakan location.replace () tidak akan lagi menghasilkan catatan baru dalam catatan sejarah.
| hash | "#isi" | Mengembalikan hash dalam url, bukan "" |
| tuan rumah | "www.google.com" | Mengembalikan nama server dan nomor port (jika ada) |
| nama host | "www.google.com" | Mengembalikan nama server tanpa nomor port |
| href | "www.google.com" | Mengembalikan URL lengkap dari halaman saat ini, dan panggilan penetapan () |
| Pathname | ''/Wileycda/' | Kembali ke nama direktori |
| pelabuhan | "8080" | Mengembalikan nomor port, jika tidak, mengembalikan string kosong |
| protokol | "http:" | Kembali ke protokol yang digunakan oleh halaman |
| Mencari | "? = JavaScript" | Mengembalikan string kueri, dimulai dengan tanda tanya |
Objek Navigator: Standar de facto yang digunakan untuk mengidentifikasi browser, dan sifat serta metodenya terutama digunakan untuk mendeteksi jenis browser.
Sisanya seperti objek sejarah (simpan catatan sejarah) dan objek layar (menunjukkan kemampuan klien). Karena pemrograman di JS tidak terlalu efektif, saya tidak akan mengulanginya.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Dom:
DOM adalah API yang diperpanjang untuk HTML berdasarkan XML, dan DOM bergantung pada pohon simpul untuk diperluas.
Pertama -tama, perlu untuk lebih jelas bahwa simpul dokumen adalah simpul root dari setiap node. Node dokumen memiliki dan hanya satu node anak, yaitu HTML (elemen dokumen).
Jenis simpul:
Antarmuka di DOM1 diimplementasikan oleh semua tipe node (node teks, node atribut, node elemen), dan antarmuka ini diimplementasikan sebagai tipe simpul di JS.
Atribut nodetype, dimiliki oleh setiap node. Dilambangkan dengan 12 nilai numerik, elemen-1, atribut-2, teks-3 ...
Atribut nodename, untuk simpul elemen simpul, nilai nodename adalah nama label.
Atribut NodEvalue, untuk simpul node elemen, nilai nodevalue adalah nol.
Hubungan Node: Setiap node memiliki atribut Childnodes, yang menghemat objek Nodelist (Class Array Object). Setiap node memiliki properti ParentNode, menunjuk ke simpul induk. Node dalam pengasuhan anak memiliki parentNode yang sama. Gunakan properti sebelumnya dan selanjutnya untuk mengakses node saudara. Pada saat yang sama, Childnodes [0] == FirstChild, Childnodes [Childnodes.length-1] == LastChild.
Operasi Node: AppendChild (), dorong node ke ujung nodel, dan kembalikan node yang baru ditambahkan. InsertBefore (), kembalikan node ke header nodelist unshift, dan kembalikan node baru. Replacechild (Newchild, TargetChild), menggantikan node target. Node asli masih ada dalam dokumen, tetapi tidak ada lokasi. Removechild (Tragetchild), menghapus simpul, dan efeknya mirip dengan Replacechild (). Clonechild (boolean), ketika benar, berarti replikasi lengkap (seluruh simpul dan node anak), salah berarti replikasi dasar.
Jenis dokumen:
Merupakan dokumen, objek dokumen adalah instance dari htmlddocument (diwarisi dari jenis dokumen), mewakili seluruh halaman HTML. Pada saat yang sama, objek ganda juga merupakan properti dari objek jendela, sehingga dapat diakses sebagai objek global. document.firstchild == html. document.body == body. document.doctype ---> Referensi ke <! Doctype>. doucment.title ---> title document.url ---> location.url.
Temukan elemen: getElementById (), getElementsbytagname (), getElementsbyclassname ().
Penulisan dokumen: write (), writeeln (), open (), close ()
Jenis Elemen:
getAttribute (), dapatkan fitur untuk kelas, gunakan "kelas", alih -alih className, dan atribut kelas dapat diperoleh saat menggunakan elemen.className.
setAttribute (), mengatur fitur, jika ada fitur, ganti. Kalau tidak, buat.
RemoveAttribute () benar -benar menghilangkan karakteristik elemen.
createelement (), buat elemen baru.
Jenis teks:
createTextNode (), membuat node teks. Jika simpul teks terhubung ke simpul rekan rekan tetangga, kedua teks akan terhubung tanpa spasi.
Komposisi JavaScript artikel di atas ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------