Konsep Dasar
javascript是一门解释型的语言,浏览器充当解释器。js执行引擎并不是一行一行的执行,而是一段一段的分析执行。Skrip tunda
Atribut Defer didefinisikan dalam HTML4.0.1, yang digunakan untuk menunjukkan bahwa skrip tidak akan mempengaruhi konstruksi halaman ketika dieksekusi. Dengan kata lain, skrip akan ditunda sampai seluruh halaman telah diuraikan sebelum dieksekusi. Oleh karena itu, mengatur atribut tunduk di elemen <script> setara dengan memberi tahu browser untuk segera mengunduh, tetapi menunda eksekusi. Dalam dokumen XHTML, atur atribut tunda ke defer=“defer"
Skrip asinkron
html5 mendefinisikan atribut async untuk <script>. Seluruh properti mirip dengan properti Defer dan digunakan untuk mengubah perilaku pemrosesan skrip. Demikian pula, mirip dengan Defer, Async hanya berfungsi dengan file skrip eksternal dan memberitahu browser untuk segera mengunduh file. Tetapi tidak seperti tunduk, skrip yang ditandai sebagai async tidak menjamin eksekusi dalam urutan yang ditentukan.
Tujuan menentukan async adalah untuk mencegah halaman menunggu file skrip diunduh dan dieksekusi, sehingga memuat konten lain dari halaman secara tidak sinkron. Oleh karena itu, direkomendasikan bahwa skrip asinkron tidak beroperasi DOM selama pemuatan
Sensitif Kasus
Segala sesuatu dalam ecmascript (termasuk variabel, nama fungsi, dan operator) sensitif.
1. Variabel JScript
Variabel diatur dalam memori ketika pertama kali digunakan, sehingga kemudian dirujuk dalam skrip. Menyatakannya sebelum menggunakan variabel. Deklarasi variabel dapat digunakan menggunakan kata kunci VAR.
var count, amount, level; // 用单个var 关键字声明的多个声明。
Penamaan variabel
Nama variabel termasuk variabel global, variabel lokal, variabel kelas, parameter fungsi, dll. Mereka semua termasuk dalam kategori ini.
Penamaan variabel terdiri dari awalan tipe + kata -kata yang bermakna, dan keterbacaan variabel dan fungsi meningkat oleh nomenklatur unta. Misalnya: Susername, ncount.
Spesifikasi awalan:
Setiap variabel lokal perlu memiliki awalan jenis, yang dapat dibagi menjadi:
S: mewakili string. Misalnya: SNAME, SHTML; N: mewakili angka. Misalnya: npage, ntotal; B: mewakili logika. Misalnya: Bchecked, bhaslogin; A: mewakili array. Misalnya: alist, agroup; R: mewakili ekspresi reguler. Misalnya: rdomain, remail; F: mewakili suatu fungsi. Misalnya: fgetHtml, finit; O: mewakili benda lain yang tidak disebutkan di atas, seperti: Obutton, Odate; G: mewakili variabel global, seperti: gusername, gloginime;
JScript adalah bahasa yang sensitif terhadap kasus. Membuat nama variabel yang sah harus mengikuti aturan berikut:
Perhatikan bahwa karakter pertama tidak bisa menjadi angka.
Anda dapat mengikuti huruf atau nomor apa pun dan menggarisbawahi, tetapi bukan spasi
Nama variabel tidak boleh menjadi kata yang dipesan.
javascript adalah bahasa yang diketik dengan lemah, dan JavaScript mengabaikan ruang yang tidak perlu. Anda dapat menambahkan spasi ke skrip untuk meningkatkan keterbacaannya.
var adalah kata yang dipesan untuk javascript , menunjukkan bahwa berikut ini adalah deskripsi variabel, nama variabel adalah pengidentifikasi yang ditentukan pengguna, dan variabel dipisahkan oleh koma.
Jika suatu variabel dinyatakan tetapi tidak ada nilai yang ditetapkan untuk itu, variabel ada dan nilainya adalah nilai JScript yang tidak ditentukan.
Konversi Jenis Kekuatan
Dalam JScript, operasi dapat dilakukan pada berbagai jenis nilai tanpa khawatir tentang pengecualian dari juru bahasa JScript. Sebagai gantinya, interpreter JScript secara otomatis mengubah (cors) salah satu tipe data ke tipe data lain dan kemudian melakukan operasi. Misalnya:
Nilai hasil perhitungan ditambahkan ke string dan nilai cast ke dalam string. Menambahkan nilai boolean ke string melemparkan nilai boolean ke string. Menambahkan nilai numerik ke nilai boolean melemparkan nilai boolean ke nilai numerik.
Untuk secara eksplisit mengonversi string ke integer, gunakan metode parseInt . Untuk secara eksplisit mengonversi string ke angka, gunakan metode parseFloat .
Seumur Hidup Variabel JavaScript : Ketika Anda mendeklarasikan variabel dalam suatu fungsi, Anda hanya dapat mengakses variabel dalam fungsi itu. Saat keluar dari fungsi, variabel ini akan dicabut. Variabel ini disebut variabel lokal. Anda dapat menggunakan variabel lokal dengan nama yang sama dalam fungsi yang berbeda, karena hanya fungsi yang menyatakan variabel yang dapat mengenali setiap variabel.
Jika Anda mendeklarasikan variabel di luar suatu fungsi, semua fungsi pada halaman dapat mengakses variabel. Masa hidup variabel -variabel ini dimulai setelah mereka dinyatakan dan berakhir ketika halaman ditutup.
peta pikiran variabel js
2. Tipe Data JS
JScript memiliki tiga jenis -> tipe data utama, dua -> tipe data komposit dan dua -> tipe data khusus.
Jenis Data Utama (Dasar)
字符串数值布尔Jenis Data Komposit (Referensi)
对象数组Tipe data khusus
Null`Undefined`Tipe Data String: Jenis data string digunakan untuk mewakili teks dalam JScript. Dalam JS, sementara kedua kutipan ganda ("") dan satu kutipan ('') dapat mewakili string, mereka hampir tidak memiliki perbedaan. Tetapi hanya menggunakan kutipan ganda ("") untuk menunjukkan string dianggap yang terbaik.
Nilai string adalah string nol atau lebih banyak karakter unicode (huruf, angka, dan tanda baca) yang diatur bersama.
Apa itu Unicode?
Unicode memberikan nilai -nilai unik untuk setiap karakter, terlepas dari platform, program, atau bahasa. Unicode dikembangkan untuk memberikan pengkodean terpadu untuk memproses semua karakter yang ada di dunia.
Tipe data numerik
Kita perlu memahami bahwa JScript secara internal mewakili semua nilai sebagai nilai titik mengambang, sehingga tidak ada perbedaan antara bilangan bulat dan nilai titik mengambang dalam JScript.
Tipe data boolean
Boolean (logis) hanya dapat memiliki dua nilai: benar atau salah.
Array dan objek JS
Untuk detailnya, silakan lihat artikel saya -> Ringkasan Pembelajaran JavaScript - Array dan Bagian Objek
Tipe Data NULL: Anda dapat menghapus konten variabel dengan menetapkan nilai nol ke variabel.
Operator typeof dalam JScript akan melaporkan nilai null sebagai tipe Object , bukan ketik null .
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title></title> <script type="text/javascript"> alert(typeof null); </script> </head> <body> </body> </html>
null digunakan untuk mewakili objek yang belum ada, dan sering digunakan untuk mewakili fungsi yang mencoba mengembalikan objek yang tidak ada.
Jenis data Undefined :
Nilai yang tidak ditentukan akan dikembalikan dalam situasi berikut:
对象属性不存在,声明了变量但从未赋值。Perbedaan antara nol dan tidak terdefinisi
waspada (typeof tidak ditentukan); // output peringatan "tidak terdefinisi" (typeof null); // output "objek" peringatan (null == tidak ditentukan); // output "true"
Ecmascript percaya bahwa tidak terdefinisi berasal dari nol, sehingga mereka didefinisikan sebagai sama.
peringatan (null === tidak ditentukan); // output "false" alert (typeOf null == typeof tidak ditentukan); // output "false"
Null dan tidak terdefinisi berbeda dalam jenis, jadi output "false". Dan === berarti kesetaraan absolut, di sini null === output yang tidak ditentukan salah
Selain itu, berikut adalah tipe data yang lebih penting - tipe data referensi
Tipe Data Referensi
JavaScript Referensi Data Tipe adalah objek yang disimpan dalam memori heap. JavaScript tidak mengizinkan akses langsung ke lokasi dan pengoperasian ruang memori tumpukan. Ini hanya dapat mengoperasikan alamat referensi objek dalam memori tumpukan. Jadi data jenis referensi sebenarnya disimpan dalam memori tumpukan sebagai alamat referensi objek dalam memori heap. Alamat referensi ini memungkinkan Anda untuk dengan cepat menemukan objek yang disimpan dalam memori heap.
Mari kita tunjukkan proses menetapkan tipe data referensi
Tentu saja, menambahkan atribut nama ke OBJ2 sebenarnya menambahkan atribut nama ke objek dalam memori heap. OBJ2 dan OBJ1 hanya menyimpan alamat referensi objek memori heap di memori tumpukan. Meskipun mereka juga disalin, objek yang diarahkan adalah sama. Oleh karena itu, perubahan OBJ2 menyebabkan perubahan OBJ1.
Nilai tipe dasar mengacu pada segmen data sederhana yang disimpan dalam memori tumpukan, yaitu, lokasi di mana nilai -nilai tersebut disimpan sepenuhnya dalam memori.
Nilai tipe referensi mengacu pada objek -objek yang disimpan dalam memori heap, yaitu variabel sebenarnya hanya pointer, yang menunjuk ke lokasi lain dalam memori, di mana objek disimpan.
Singkatnya, memori heap menyimpan nilai referensi, dan memori stack menyimpan nilai tipe tetap.
Dalam ECMAScript , variabel dapat memiliki dua jenis nilai, yaitu nilai asli dan nilai referensi.
Segmen data sederhana di mana nilai -nilai asli disimpan dalam stack , yaitu nilainya disimpan langsung di lokasi di mana variabel diakses. Objek yang direferensikan yang disimpan dalam heap ( heap ), yaitu nilai yang disimpan pada variabel adalah pointer ( point ) yang menunjuk ke memori di mana objek disimpan.
<script type = "text/javascript"> var box = objek baru (); // Buat jenis referensi var box = "lee"; // Nilai tipe dasar adalah kotak string.age = 23; // aneh untuk menambahkan atribut ke nilai tipe dasar, karena hanya objek yang dapat menambahkan atribut. alert (box.age); // Ini bukan jenis referensi, dan tidak bisa output; </script>
3. Operator Jeskrip
Prioritas: Mengacu pada urutan operasi operator. Dalam istilah awam, itu adalah untuk menghitung bagian mana dari operasi terlebih dahulu.
Kombinasi: Urutan perhitungan operator prioritas yang sama, dalam istilah awam, apakah dari arah mana untuk menghitung, apakah itu dari kiri ke kanan atau kanan ke kiri.
Konversi Tipe Data
String () ke string type
Angka () dikonversi ke jenis numerik
Boolean () untuk tipe boolean
parseInt : Mengubah string ke integer. Mulai parsing dari awal string, berhenti parsing pada posisi non-integer pertama, dan kembalikan semua bilangan bulat yang dibaca sebelumnya. Jika string tidak dimulai dengan bilangan bulat, NAN akan dikembalikan. Misalnya: Nilai yang dikembalikan oleh ParseInt ("150 HI") adalah: 150, dan nilai yang dikembalikan oleh ParseInt ("HI") adalah: NAN.
parseFloat : Mengonversi string ke nomor titik mengambang. Mulai parsing dari awal string, berhenti parsing pada posisi non-integer pertama, dan kembalikan semua bilangan bulat yang dibaca sebelumnya. Jika string tidak dimulai dengan bilangan bulat, NAN akan dikembalikan. Sebagai contoh: parseFloat("15.5 hi") 返回的值是:15.5,parseFloat("hi 15.5")返回的值是:NaN。
eval:将字符串作为javascript表达式进行计算,并返回执行结果,如果没有结果则返回undefined。4. Kontrol proses JS
Untuk pernyataan kontrol proses JS, berikut ini hanya beberapa yang sulit dipahami. Saya tidak akan membahas detail tentang yang lain. Peta pikiran terpasang di bawah ini.
1. Untuk ... dalam pernyataan mengeksekusi satu atau lebih pernyataan yang sesuai dengan masing -masing objek, atau setiap elemen array.
untuk (variabel dalam [objek | array]) pernyataan
parameter:
variable : Opsi yang diperlukan. Variabel yang dapat berupa atribut suatu objek atau elemen apa pun dari suatu array.
object , array : Opsional. Objek atau array untuk melintasi itu.
statement : Opsional. Satu atau lebih pernyataan yang akan dieksekusi relatif terhadap setiap properti dari suatu objek atau setiap elemen dari suatu array. Ini bisa menjadi pernyataan majemuk.
Meskipun pernyataan kontrol bersyarat (seperti Pernyataan IF) memerlukan penggunaan blok kode hanya ketika beberapa pernyataan dieksekusi (mulai dari penjepit kiri "{" dan berakhir pada penjepit kanan "}"), praktik terbaik adalah selalu menggunakan blok kode.
if (args) alert (args); // mudah kesalahan jika (args) {waspada (args); // disarankan untuk menggunakan}Peta Pikiran Pernyataan Kontrol Proses JS
5. Fungsi JS
Fungsi adalah blok kode yang dapat digunakan kembali yang didorong oleh suatu peristiwa atau dieksekusi saat dipanggil.
Jscript mendukung dua fungsi: satu adalah fungsi di dalam bahasa, dan yang lainnya dibuat dengan sendirinya.
Fungsi JavaScript tidak memungkinkan parameter (tetapi tanda kurung yang berisi parameter tidak dapat dihilangkan), dan parameter dapat diteruskan ke fungsi untuk digunakan berdasarkan fungsi.
Untuk informasi lebih lanjut tentang fungsi, silakan kunjungi artikel lain dari artikel saya: Ringkasan Bagian Fungsi Pembelajaran JavaScript (IV)
Komposisi objek
Metode - Fungsi: Prosedur, Properti Dinamis - Variabel: Status, Statis
Akhirnya, peta pikiran yang dirangkum oleh para senior: