JavaScript adalah bahasa scripting paling populer di Internet. Bahasa ini dapat digunakan untuk HTML dan web, dan dapat digunakan secara luas di server, PC, laptop, tablet, ponsel cerdas, dan perangkat lainnya.
Fitur JavaScript
JavaScript telah distandarisasi sebagai bahasa oleh ECMA (Asosiasi Produsen Komputer Eropa) melalui ECMAScript.
Nama | Tahun | Keterangan |
---|---|---|
1997 | ECMAScript 1 | Versi pertama |
1998 | ECMAScript 2 | Perubahan versi |
1999 | ECMAScript 3 | Tambahkan ekspresi reguler Tambahkan try/catch |
ECMAScript 4 | tidak dirilis. | |
ECMAScript 5 | 2009 | menambahkan "mode ketat", dan mode ketat menambahkan dukungan JSON. |
Perubahan versi | ECMAScript | 5.1 |
2015 | menambahkan | kelas |
dan | modul | . |
Tambahkan |
Script dalam HTML harus ditempatkan di antara tag <script> dan </script>. Skrip dapat ditempatkan di bagian <body> dan <head> pada halaman HTML.
Seringkali, kita perlu mengeksekusi kode ketika suatu peristiwa terjadi, seperti ketika pengguna mengklik sebuah tombol. Jika kita memasukkan kode JavaScript ke dalam suatu fungsi, kita dapat memanggil fungsi tersebut ketika peristiwa tersebut terjadi.
Contoh 1: fungsi skrip di head
<!DOCTYPE html> <htmllang="id"> <kepala> <meta charset="UTF-8"> <title>skrip di tag kepala</title> <skrip> fungsi fungsi saya() { document.getElementById("demo").innerHTML = "Ini adalah fungsi saya"; } </skrip> </kepala> <tubuh> <h1>Fungsi saya</h1> <p id="demo">Sebuah paragraf</p> <button type="button" onclick="myFunction()">Ini adalah fungsi</button> </tubuh> </html>
Contoh 2: fungsi skrip di badan
<!DOCTYPE html> <htmllang="id"> <kepala> <meta charset="UTF-8"> <title>skrip di badan</title> </kepala> <tubuh> <h1>Fungsi saya</h1> <p id="demo">Fungsi saya</p> <button type="button" onclick="myFunction()">Klik</button> <skrip> fungsi fungsi saya() { document.getElementById("demo").innerHTML = "Ini adalah fungsi saya" } </skrip> </tubuh> </html>
JavaScript juga dapat ditempatkan secara eksternal untuk pemanggilan. Perhatikan bahwa ekstensi eksternalnya adalah .js.
Contoh 3: Panggilan eksternal JavaScriptExternal
call.js
function myFunction() { document.getElementById('demo').innerHTML = "Ini adalah fungsi saya" }
Panggil skrip eksternal
<!DOCTYPE html> <htmllang="id"> <kepala> <meta charset="UTF-8"> <title>Memanggil skrip eksternal</title> </kepala> <tubuh> <p id="demo">Sebuah paragraf teks</p> <button type="button" onclick="myFunction()">Cobalah</button> <skrip src="skrip eksternal.js"></skrip> </tubuh> </html>
Data JavaScript dapat dikeluarkan dengan berbagai cara:
Contoh 1: aler() keluaran jendela pop-up
<!DOCTYPE html> <htmllang="id"> <kepala> <meta charset="UTF-8"> <title>keluaran peringatan</title> </kepala> <tubuh> <h1>keluaran peringatan</h1> <skrip> jendela.alert(5 + 6) </skrip> </tubuh> </html>
Contoh 2: keluaran document.write()
<!DOCTYPE html> <htmllang="id"> <kepala> <meta charset="UTF-8"> <title>dokumen.tulis keluaran</title> </kepala> <tubuh> <h1>dokumen.tulis keluaran</h1> <skrip> dokumen.write(Tanggal()); document.write("Halo,Web!"); </skrip> </tubuh> </html>
Contoh 3: Menulis ke dokumen HTML
<!DOCTYPE html> <htmllang="id"> <kepala> <meta charset="UTF-8"> <title>Menulis ke dokumen HTML</title> </kepala> <tubuh> <h1>Menulis ke dokumen HTML</h1> <skrip> fungsi fungsi saya() { document.write("keluaran fungsi"); } </skrip> <button onclick="myFunction()">Klik di sini</button> </tubuh> </html>
Contoh 4: Gunakan console.log() untuk menulis ke konsol browser
<!DOCTYPE html> <htmllang="id"> <kepala> <meta charset="UTF-8"> <title>Gunakan console.log() untuk menulis ke konsol browser</title> </kepala> <tubuh> <h1>console.log() menulis ke konsol browser</h1> <skrip> sebuah = 5; b = 6; c = a + b; konsol.log(c) </skrip> </tubuh> </html>
JavaScript adalah bahasa skrip yang ringan namun kuat.
Literal
Dalam bahasa pemrograman, umumnya nilai tetap disebut dengan literal.
Perhatikan bahwa dalam JavaScript, pernyataan harus diakhiri dengan ";" .Variabel JavaScrip
Dalam
bahasa pemrograman, variabel digunakan untuk menyimpan nilai data. JavaScript menggunakan kata kunci var untuk mendefinisikan variabel, dan menggunakan tanda sama dengan untuk memberikan nilai pada variabel dapat beroperasi satu sama lain:
var y = false // Nilai Boolean var length = 16; // Angka var poin = x * 10; // Perhitungan angka var lastName = "Johnson"; // String var mobil = ["Saab", "Volvo", "BMW"];"John", lastName:"Doe"}; //
Fungsi JavaScript
kamus objek
Untuk berulang kali mereferensikan fungsi yang sama dan mengurangi kenyamanan penulisan dan pemeliharaan kode, JavaScript menyediakan fungsi fungsi, dipandu oleh kata kunci function:
function myFunc (a , B) { return a + b; // Mengembalikan hasil a+b}
Fitur JavaScript
Dibandingkan dengan bahasa lain, JavaScript memiliki fitur berikut:
abstract | else | instanceof | super |
boolean | enum | int | switch |
break | ekspor | antarmuka | byte |
yang | disinkronkan | meluas | biarkan |
kasus | inifalse | long | throw |
catch | final | native | throws |
char | akhirnya | new | transient |
class | float | null | true |
const | untuk | paket | coba |
lanjutkan | fungsi | private | typeof |
debugger | goto | protected | var |
default | jika | public | void |
delete | mengimplementasikan | return | volatil |
do | import | short | while |
double | in | static | dengan |
komentar JavaScript (sama seperti Java)
// Ini kodenya: komentar kalimat tunggal, biasanya tombol ctrl + L di editor.
/* Ini kodenya*/: Komentar multi-baris, biasanya tombol ctrl + shift + L di editor.
Pernyataan JavaScript adalah perintah yang diberikan kepada browser, memberitahukan browser apa yang harus dilakukan. Pernyataan JavaScript berikut menampilkan teks "Hello World!" ke elemen HTML dengan id="demo":
document.getElementById("demo").innerHTML ="
Hello World!";
kurung kurawal, ini sangat mirip dengan Java.
Java Identifier
Pernyataan | Pengidentifikasi |
---|---|
break | digunakan untuk keluar dari loop. |
catch | dieksekusi ketika terjadi kesalahan selama eksekusi blok pernyataan try. |
continue | melewatkan satu iterasi dalam loop. |
do ... while | mengeksekusi blok pernyataan dan terus mengeksekusi blok pernyataan ketika pernyataan kondisional benar. |
for | dapat mengeksekusi blok kode beberapa kali ketika pernyataan kondisional benar. |
for ... in | digunakan untuk melintasi properti array atau objek (mengulangi properti array atau objek). |
function | mendefinisikan fungsi |
if...else | untuk melakukan tindakan berbeda berdasarkan kondisi berbeda. |
fungsi keluar | kembali |
digunakan | untuk melakukan tindakan berbeda berdasarkan kondisi berbeda. |
throw | throws (menghasilkan) kesalahan. |
try | mengimplementasikan penanganan kesalahan dan digunakan bersama dengan catch. |
var | mendeklarasikan sebuah variabel. |
while | Jika pernyataan kondisional benar, jalankan blok pernyataan. |
Sebagian besar bahasa dapat melengkapi spasi secara otomatis. Sebaiknya tambahkan spasi di kedua sisi operator agar jelas dan indah. Namun, Anda harus memperhatikan penggunaan spasi dalam HTML dan jangan main-main. Dalam JavaScript, dua kalimat berikut ini sama:
var a = 10; var b=10;
Mirip dengan Python, JavaScript juga merupakan bahasa skrip dan diinterpretasikan.
Definisi
Segala sesuatu adalah suatu objek, suatu contoh abstrak dari ciri-ciri di antara benda-benda yang mempunyai ciri-ciri yang sama. Seperti Xiao Ming di antara manusia.
Dalam JavaScript, objek adalah wadah variabel atribut, mirip dengan kamus di Python atau peta hash di Java, yang mendefinisikan atribut objek.
var orang = { Nama Depan: "Mike", Nama Belakang: "Smith", usia: "18", alamat: "Beijing", pekerjaan: "Siswa" };
Di atas adalah definisi objek. Tentu saja, Anda juga dapat menulisnya dalam satu baris. Saya melakukannya demi keindahan, dan saya mendorong semua orang untuk menulis seperti ini di masa mendatang.
Untuk mengakses properti objek
kita dapat mengatakan "Objek JavaScript adalah wadah untuk variabel". Namun, kita biasanya menganggap "objek JavaScript sebagai wadah pasangan nilai kunci". Pasangan kunci-nilai biasanya ditulis sebagai kunci : nilai (kunci dan nilai dipisahkan dengan titik dua). Pasangan kunci-nilai biasanya disebut properti objek dalam objek JavaScript. Kami juga mengakses properti melalui "." universal (sebagian besar bahasa menggunakan ini).
<!DOCTYPEhtml> <htmllang="id"> <kepala> <meta charset="UTF-8"> <title>Ini adalah situs webnya</title> </kepala> <tubuh> <h1>Akses atribut kelas</h1> <!--Pernyataan berikut harus diletakkan sebelum skrip--> <p id="demo"></p> <skrip> var orang = { Nama Depan: "Mike", Nama Belakang: "Smith", usia: "18", alamat: "Beijing", pekerjaan: "Siswa" }; dokumen.getElementById("demo").innerHTML = orang["Nama Depan"] + "." + orang.Nama Belakang; </skrip> </tubuh> </html>
Dua metode akses, Anda dapat menggunakan nama objek.properti atau nama objek.["properti"].
Fungsi adalah blok kode yang digerakkan oleh peristiwa atau dapat digunakan kembali yang dijalankan ketika dipanggil. Ketika fungsi ini dipanggil, kode di dalam fungsi tersebut dieksekusi. Fungsi dapat dipanggil secara langsung ketika suatu peristiwa terjadi (misalnya ketika pengguna mengklik tombol) dan dapat dipanggil dari mana saja dengan JavaScript.
Parameter dan Nilai Pengembalian
Saat Anda memanggil suatu fungsi, Anda dapat meneruskan nilai yang disebut parameter, dan tidak ada batasan jumlah parameter.
fungsi fungsi saya( var1 , var2 )
{
kode
}
Saat memanggil parameter, parameter tersebut harus diteruskan sesuai dengan urutannya, seperti yang ditunjukkan di bawah ini:
<!DOCTYPE html> <htmllang="id"> <kepala> <meta charset="UTF-8"> <title>Ini adalah situs web JavaScript</title> </kepala> <tubuh> <h1>Masalah penerusan parameter fungsi</h1> <p>Klik tombol di bawah untuk menelepon</p> <button onclick="myFunc('Mike','18','Beijing')">Klik di sini</button> <skrip> function myFunc(nama, umur, alamat) { alert("Nama saya " + nama + ", umur saya adalah " + umur + " dan rumah saya di " + alamat); } </skrip> </tubuh> </html>
Fungsi JavaScript diperbolehkan memiliki nilai kembalian, dan kata kunci return adalah return. Ketika fungsi mengembalikan suatu nilai, fungsi tersebut akan berhenti dijalankan, dan pernyataan setelah return tidak akan dieksekusi.
Contoh: Hitung hasil kali dua bilangan dan kembalikan hasilnya
<!DOCTYPE html> <htmllang="id"> <kepala> <meta charset="UTF-8"> <title>Situs web JavaScript</title> </kepala> <tubuh> <h1>Hitung nilai dua angka dan kembalikan</h1> <p id="demo"></p> <skrip> fungsi fungsi saya(a, b) { kembalikan a * b; } document.getElementById("demo").innerHTML = myFunc(3, 4); </skrip> </tubuh> </html>
Variabel Variabel
JavaScript dibagi menjadi dua jenis:
Saat kita memberikan nilai ke variabel JavaScript yang tidak dideklarasikan, variabel tersebut secara otomatis akan diperlakukan sebagai properti window. Misalnya, pernyataan berikut:
name = "Mike";
akan mendeklarasikan nama atribut window. Variabel global yang dibuat dengan menetapkan nilai ke variabel yang tidak dideklarasikan dalam mode non-ketat adalah atribut objek global yang dapat dikonfigurasi dan dapat dihapus. Misalnya:
var var1 = 1; // Properti global tidak dapat dikonfigurasi var2 = 2; // Tanpa deklarasi var, properti global dapat dikonfigurasi console.log(this.var1); konsol.log(jendela.var1); // 1 hapus var1; // false tidak dapat menghapus console.log(var1); hapus var2; console.log(hapus var2); // benar console.log(var2); // Variabel kesalahan telah dihapus.
Deskripsi
Peristiwa HTML adalah hal yang terjadi pada elemen HTML. Saat JavaScript digunakan di halaman HTML, JavaScript dapat memicu kejadian ini.
Peristiwa HTML dapat berupa tindakan browser atau tindakan pengguna. Berikut adalah contoh kejadian HTM:
biasanya
diklik.JavaScript dapat mengeksekusi beberapa kode ketika suatu peristiwa dipicu. Atribut acara dapat ditambahkan ke elemen HTML dan kode JavaScript dapat digunakan untuk menambahkan elemen HTML.
<!DOCTYPE html> <htmllang="id"> <kepala> <meta charset="UTF-8"> <title>Acara JavaScript</title> </kepala> <tubuh> <h1>Dua cara menangani peristiwa JavaScript</h1> <p id="demoOne"></p> <button onclick="getElementById('demoOne').innerHTML=Date()">Klik untuk melihat waktu 1</button> <p id="demoDua"></p> <button onclick="this.innerHTML=Date()">Klik untuk melihat waktu 2</button> </tubuh> </html>
JavaScript biasanya berupa kode multi-baris, dan kode yang kurang umum dipanggil melalui atribut acara.
<!DOCTYPEhtml> <htmllang="id"> <kepala> <meta charset="UTF-8"> <title>Acara JavaScript</title> </kepala> <tubuh> <h1>Panggilan atribut peristiwa JavaScript</h1> <p>Klik untuk menjalankan fungsi <em>myFunc()</em></p> <button onclick="myFunc()">Klik di sini</button> <p id="satu"></p> <skrip> fungsi fungsi saya() { document.getElementById("satu").innerHTML = Tanggal(); } </skrip> </tubuh> </html>
Deskripsi | peristiwa |
---|---|
onchange | Perubahan elemen HTML |
onclick | Pengguna mengklik elemen HTML |
onmouseover | Pengguna menggerakkan mouse pada elemen HTML |
onmouseout | Pengguna menggerakkan mouse menjauh dari elemen HTML |
onkeydown | Pengguna menekan tombol keyboard |
onload | Browser telah menyelesaikan halaman Acara lainnya akan terus dipelajari setelah memuat |
Peran peristiwa Peristiwa
dapat digunakan untuk menangani validasi formulir, input pengguna, perilaku pengguna, dan tindakan browser:
berbagai metode dapat digunakan untuk mengeksekusi kode acara JavaScript:
: Kumpulan karakter.
var a = "abc"; var b = "Halo";Mirip dengan Python,
setiap
karakter dalam string dapat diakses menggunakan indeks:
var
c = b[1];
<!DOCTYPEhtml> <html> <kepala> <meta charset="utf-8"> <title>Panjang string</title> </kepala> <tubuh> <skrip> var txtOne = "Halo Dunia!"; document.write("<p>" + txtOne.length + "</p>"); var txtDua = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; document.write("<p>" + txtDua.panjang + "</p>"); </skrip> </tubuh> </html>
JavaScript juga memiliki beberapa karakter khusus. Misalnya, ketika kita ingin mencetak tanda kutip, kita perlu menambahkan "" untuk keluar, jika tidak, kompiler tidak dapat menguraikannya.
Output | kode |
---|---|
' | kutipan tunggal |
" | kutipan ganda |
\ | garis miring terbalik |
nline | feed |
rcarriage | return |
ttab | (karakter tab) |
bbackspace | character |
fformfeed karakter |
string sebagai objek
, biasanya, string JavaScript adalah nilai primitif dan dapat dibuat menggunakan karakter: var firstName = "Mike", tetapi kita juga dapat menggunakan kata kunci baru untuk mendefinisikan string sebagai objek: var firstName = new String("Mike"), yang mirip dengan
properti | deskripsi |
---|---|
konstruktor | mengembalikan fungsi yang membuat string properti |
panjang | mengembalikan panjang |
prototipe | stringmemungkinkan Anda menambahkan properti dan metode ke objek |
deskripsi | metode |
---|---|
charAt() | mengembalikan karakter pada posisi indeks yang ditentukan |
charCodeAt() | mengembalikan Tentukan nilai Unicode dari karakter pada posisi indeks. |
concat() | menggabungkan dua atau lebih string dan mengembalikan string yang terhubung. |
( | ) |
mengubah | Unicode menjadi string |
string.lastIndexOf | |
() | mengembalikan posisi kemunculan terakhir dari karakter yang ditentukan dalam string |
localeCompare() | menggunakan urutan spesifik lokal untuk membandingkan dua string |
match() | menemukan kecocokan dari satu atau lebih ekspresi reguler |
replace() | diganti dengan a ekspresi reguler Pencarian substring yang cocok |
() | mengambil nilai yang cocok dengan ekspresi reguler |
irisan() | mengekstrak fragmen string dan mengembalikan bagian yang diekstrak dalam string baru |
split() | membagi string menjadi array substring |
substr() | Ekstrak yang ditentukan jumlah karakter dalam string dari nomor indeks awal |
substring () | Ekstrak karakter antara dua nomor indeks yang ditentukan dalam string |
toLocaleLowerCase () | Ubah string menjadi huruf kecil sesuai dengan lokal host, hanya ada beberapa Bahasa (seperti bahasa Turki) memiliki pemetaan kasus khusus lokal |
toLocaleUpperCase() | untuk mengonversi string menjadi huruf besar sesuai dengan lokal host. Hanya beberapa bahasa (seperti Turki) yang memiliki pemetaan kasus khusus lokal |
toLowerCase() | untuk mengonversi string |
Konversi ke huruf kecil | |
toString() | Mengembalikan nilai objek string |
toUpperCase() | Mengonversi string menjadi huruf besar |
trim() | Menghapus bagian awal dan akhir string yang kosong |
valueOf() | Mengembalikan nilai asli objek string |
== dan === Perbedaan
1. Untuk tipe dasar seperti string dan angka, terdapat perbedaan
2. Untuk tipe lanjutan seperti Array dan Object, tidak ada perbedaan antara == dan ===
perbandingan "alamat penunjuk".
3. Ada perbedaan antara tipe dasar dan tipe lanjutan
4. != adalah non-operasi dari ==, !== adalah non-operasi dari = ==
var nomor=1; var str="1"; var tes=1; test == num //tipe yang sama dan nilai yang sama test === num //tipe yang sama dan nilai yang sama test !== num //test yang salah memiliki tipe yang sama dengan num, dan nilainya juga sama non-operasi harus salah num == str //true Konversikan str ke angka dan periksa apakah sama. num != str //false == non-operasi num === str //tipe false berbeda, kembalikan false secara langsung num !== str //true Perbedaan tipe num dan str berarti keduanya tidak sama. Non-operasi secara alami benar
Contoh | deskripsi | operator | x Hasil operasi | y Hasil operasi |
---|---|---|---|---|
+ | penjumlahan | x =y+2 | 7 | 5 |
-Pengurangan | x | =y-2 | 3 | 5 |
* | Perkalian | x=y*2 | 10 | 5 |
/ | Pembagian | x=y/2 | 2,5 | 5 |
% | modulo (sisa) | x=y%2 | 1 | 5 |
++ | kenaikan | x =++y | 6 | 6 |
x=y++ | 5 | 6 | ||
--decrement | x= | --y | 4 | 4 |
x=y-- | 5 | 4 |
setara | dengan | operasi | Hasil |
---|---|---|---|
= | x =kamu | x=5 | |
+= | x+=y | x=x+y | x=15 |
-= | x-=y | x=xy | x=5 |
*= | x*=y | x=x*y | x=50 |
/= | x/=y | x= x/y | x=2 |
%= | x%=y | x=x%y | x=0 |
Perbandingan | deskripsi | operator | nilai kembalian |
---|---|---|---|
== | sama dengan | x==8 | false |
x==5 | true | ||
= = = | Benar-benar sama (nilai dan tipenya sama) | x==="5" | false |
x===5 | benar | ||
!= | tidak sama dengan | x!=8 | benar |
!== | Tidak sepenuhnya sama (salah satu nilai dan jenisnya tidak sama, atau Keduanya tidak sama) | x!=="5" | true |
x!==5 | false | ||
> | lebih besar dari | x>8 | false |
< | kurang dari | x<8 | true |
>= | lebih besar dari atau sama dengan | x>=8 | false |
<= | kurang dari atau sama dengan | x<= 8 | benar |
<= | kurang dari atau sama dengan | x<=8 | benar |
contoh | deskripsi | operator |
---|---|---|
&& | dan | (x < 10 && y > 1) adalah benar |
||. | atau | (x== 5 || y==5) salah |
! | bukan | !(x==y) benar |
JavaScript juga berisi operator kondisional yang memberikan nilai pada variabel berdasarkan kondisi tertentu. Misalnya:
namavariabel=(kondisi)?nilai1:nilai2
Dalam JavaScript, kita dapat menggunakan pernyataan bersyarat berikut:
pernyataan if
akan mengeksekusi kode hanya jika kondisinya benar. Misalnya:
<!DOCTYPE html> <html lang="zh-CN"> <kepala> <meta http-equiv="content-Type" charset="UTF-8"> <meta http-equiv="x-ua-kompatibel" content="IE=Edge"> <title>Situs web JavaScript</title> </kepala> <tubuh> <h1>Ini adalah pernyataan if</h1> <button onclick="myFunc()">Klik di sini</button> <p id="satu"></p> <skrip> fungsi fungsi saya() { varx = ""; var waktu = Tanggal baru().getHours(); jika (waktu < 20) { x = "Halo, Sebelum pukul 20.00"; } document.getElementById("satu").innerHTML = x; } </skrip> </tubuh> </html>
Pernyataan if...else
Gunakan pernyataan if...else untuk mengeksekusi kode ketika kondisinya benar dan kode lain ketika kondisinya salah.
<!DOCTYPEhtml> <html lang="zh-CN"> <kepala> <meta http-equiv="content-Type" charset="UTF-8"> <meta http-equiv="x-ua-kompatibel" content="IE=Edge"> <title>Situs web JavaScript</title> </kepala> <tubuh> <h1>Ini adalah pernyataan if...else</h1> <button onclick="myFunc()">Klik di sini</button> <p id="satu"></p> <skrip> fungsi fungsi saya() { varx = ""; var waktu = Tanggal baru().getHours(); jika (waktu < 20) { x = "Halo, Sebelum pukul 20.00"; }kalau tidak { x = "Halo, Setelah pukul 20.00"; } document.getElementById("satu").innerHTML = x; } </skrip> </tubuh> </html>
Beberapa pernyataan if..else
<!DOCTYPE html> <html lang="zh-CN"> <kepala> <meta http-equiv="tipe-konten" charset="UTF-8"> <meta http-equiv="x-ua-kompatibel" content="IE=Edge"> <title>Situs web JavaScript</title> </kepala> <tubuh> <h1>Beberapa pernyataan if...else</h1> <button onclick="myFunc()">Klik di sini</button> <p id="satu"></p> <skrip> fungsi fungsi saya() { varx = ""; var waktu = Tanggal baru().getHours(); jika (waktu < 12) { x = "Selamat pagi"; } else if (waktu < 14) { x = "Selamat siang"; } kalau tidak { x = "Selamat siang"; } document.getElementById("satu").innerHTML = x; } </skrip> </tubuh> </html>
pernyataan switch
Gunakan pernyataan switch untuk memilih salah satu dari beberapa blok kode yang akan dieksekusi. Misalnya:
<!DOCTYPE html> <html lang="zh-CN"> <kepala> <meta http-equiv="tipe-konten" charset="UTF-8"> <meta http-equiv="x-ua-kompatibel" content="IE=Edge"> <title>Situs web JavaScript</title> </kepala> <tubuh> <h1>pernyataan peralihan</h1> <button onclick="myFunc()">Klik di sini</button> <p id="satu"></p> <skrip> fungsi fungsi saya() { varx = ""; var waktu = Tanggal baru().getMonth(); beralih (waktu) { kasus 0: x = "Januari"; merusak; kasus 1: x = "Februari"; merusak; kasus 2: x = "Maret"; merusak; kasus 3: x = "April"; merusak; kasus 4: x = "Mei"; merusak; kasus 5: x = "Jane"; merusak; kasus 6: x = "Juli"; merusak; kasus 7: x = "Agustus"; merusak; kasus 8: x = "September"; merusak; kasus 9: x = "Oktober"; merusak; kasus 10: x = "November"; merusak; kasus 11: x = "Desember"; merusak; bawaan: x = "KESALAHAN"; } document.getElementById("satu").innerHTML = x; } </skrip> </tubuh> </html>
JavaScript mendukung berbagai jenis perulangan:
untuk loop
<!DOCTYPE html> <html> <kepala> <meta charset="utf-8"> <title>Perulangan JavaScript</title> </kepala> <tubuh> <h1>Klik tombol untuk mengulang kode sebanyak 5 kali. </h1> <button onclick="myFunc()">Klik di sini</button> <p id="demo"></p> <skrip> fungsi fungsi saya() { varx = ""; untuk (var saya = 0; saya < 5; saya++) { x = x + "Bilangannya adalah" + i + "<br>"; } dokumen.getElementById("demo").innerHTML = x; } </skrip> </tubuh> </html>
untuk /dalam lingkaran
<!DOCTYPE html> <html lang="zh-CN"> <kepala> <meta http-equiv="tipe-konten" charset="UTF-8"> <meta http-equiv="x-ua-kompatibel" content="IE=Edge"> <judul>Judul</judul> </kepala> <tubuh> <p>Klik tombol di bawah untuk melintasi atribut orang pada objek</p> <button onclick="myFunc()">Klik di sini</button> <p id="satu"></p> <skrip> fungsi fungsi saya() { biarkan x; biarkan teks = ""; konstanta orang = { Nama Depan: "Tagihan", Nama Belakang: "Gerbang", usia: 56 }; untuk (x secara langsung) { teks = teks + " " + orang[x]; } document.getElementById("satu").innerHTML = teks; } </skrip> </tubuh> </html>
perulangan sementara
<!DOCTYPE html> <html lang="zh-CN"> <kepala> <meta http-equiv="content-Type" charset="UTF-8"> <meta http-equiv="x-ua-kompatibel" content="IE=Edge"> <judul>Judul</judul> </kepala> <tubuh> <p>Klik tombol dan hasilnya akan dicetak jika i kurang dari 5</p> <button onclick="myFunc()">Klik di sini</button> <p id="one">Tampilkan di sini</p> <skrip> fungsi fungsi saya() { misalkan x = "", i = 0; sementara (saya < 5) { x = x + "Bilangan ini adalah" + i + "<br>"; saya++; } dokumen.getElementById("satu").innerHTML = x } </skrip> </tubuh> </html>
lakukan/sementara perulangan
<!DOCTYPE html> <html lang="zh-CN"> <kepala> <meta http-equiv="content-Type" charset="UTF-8"> <meta http-equiv="x-ua-kompatibel" content="IE=Edge"> <judul>Judul</judul> </kepala> <tubuh> <p>Klik tombol untuk mencetak angka kurang dari 5</p> <button onclick="myFunc()">Klik di sini</button> <p id="satu"></p> <skrip> fungsi fungsi saya() { misalkan x = ""; misalkan saya = 0; Mengerjakan { x = x + "Bilangannya adalah" + i + "<br>"; saya++; } sementara (saya <5); document.getElementById("satu").innerHTML=x; } </skrip> </tubuh> </html>
Perbandingan antara perulangan for dan perulangan while
<!DOCTYPE html> <html lang="zh-CN"> <kepala> <meta http-equiv="content-Type" charset="UTF-8"> <meta http-equiv="x-ua-kompatibel" content="IE=Edge"> <judul>Judul</judul> </kepala> <tubuh> <p>Ini adalah fungsi</p> <button onclick="funcOne()">Klik funcOne</button> <p id="one">funcOne telah hadir</p> <p>Ini adalah fungsiDua</p> <button onclick="funcTwo()">Klik funcTwo</button> <p id="two">funcTwo telah hadir</p> <skrip> fungsi fungsiSatu() { angka = [1, 2, 3, 4, 5, 6, 7, 8, 9]; misalkan saya = 0; biarkan addRes = 0; while (angka[i]) { addRes += angka[i]; saya++; } document.getElementById("one").innerHTML = addRes + "<br>"; } fungsi fungsiDua() { angka = [1, 2, 3, 4, 5, 6, 7, 8, 9]; misalkan saya = 0; misalkan mulRes = 1; untuk (; angka[i];) { mulRes *= angka[i]; saya++; } document.getElementById("two").innerHTML = mulRes + "<br>"; } </skrip> </tubuh> </html>Pernyataan
Break dan Continue
break digunakan untuk keluar dari loop. continue digunakan untuk melewati iterasi dalam satu loop.
<!DOCTYPEhtml> <html lang="zh-CN"> <kepala> <meta http-equiv="tipe-konten" charset="UTF-8"> <meta http-equiv="x-ua-kompatibel" content="IE=Edge"> <judul>Judul</judul> </kepala> <tubuh> <p>Ini adalah pernyataan continue dan break</p> <button onclick="funcOne()">Klik funcOne</button> <p id="one">Ini adalah fungsi</p> <br> <br> <br> <br> <br> <br> <button onclick="funcTwo()">Klik funcTwo</button> <p id="two">Ini adalah fungsiDua</p> <skrip> fungsi fungsiSatu() { misalkan x = ""; misalkan saya = 0; untuk (saya = 0; saya < 10; saya++) { jika (saya < 5) { merusak; } x = x + "Bilangannya adalah" + i + "<br>"; } document.getElementById("satu").innerHTML = x; } fungsi fungsiDua() { misalkan x = ""; misalkan saya = 0; untuk (saya = 0; saya < 10; saya++) { jika (saya === 8) { melanjutkan; } x = x + "Bilangannya adalah" + i + "<br>"; } document.getElementById("dua").innerHTML = x; } </skrip> </tubuh> </html>
menggunakan operator typeof untuk mendeteksi tipe data variabel.
<!DOCTYPEhtml> <html lang="zh-CN"> <kepala> <meta http-equiv="content-Type" charset="UTF-8"> <meta http-equiv="x-ua-kompatibel" content="IE=Edge"> <judul>Judul</judul> </kepala> <tubuh> <p id="satu"></p> <skrip> dokumen.getElementById("satu").innerHTML = ketik "john" + "<br>" + ketik 3.14 + "<br>" + tipe salah + "<br>" + ketik [1, 2, 3, 4] + "<br>" + typeof {nama: 'john', umur: 34}; </skrip> </tubuh> </html>
Dalam JavaScript, array adalah tipe objek khusus. Oleh karena itu typeof [1,2,3,4] mengembalikan objek.
null artinya kosong, yaitu "tidak ada". Saat menggunakan deteksi typeof, objek dikembalikan. Objek dapat dibersihkan menggunakan undefinisi.
<!DOCTYPEhtml> <html lang="zh-CN"> <kepala> <meta http-equiv="content-Type" charset="UTF-8"> <meta http-equiv="x-ua-kompatibel" content="IE=Edge"> <judul>Judul</judul> </kepala> <tubuh> <p>satu:</p> <p id="satu"></p> <p>dua:</p> <p id="dua"></p> <skrip> var person = {Nama Depan: "Tagihan", Nama Belakang: "Gerbang", umur: 50}; var orang = nol; document.getElementById("one").innerHTML = tipe orang; orang = tidak terdefinisi document.getElementById("two").innerHTML = tipe orang; </skrip> </tubuh> </html>
Properti konstruktor mengembalikan konstruktor semua variabel JavaScript. Anda dapat menggunakan properti konstruktor untuk memeriksa apakah objek tersebut berupa array atau tanggal (berisi string "Tanggal"), dll.
<!DOCTYPEhtml> <html lang="zh-CN"> <kepala> <meta http-equiv="tipe-konten" charset="UTF-8"> <meta http-equiv="x-ua-kompatibel" content="IE=Edge"> <judul>Judul</judul> </kepala> <tubuh> <p>Atribut konstruktor mengembalikan variabel atau konstruktor</p> <p id="one">HRER</p> <skrip> dokumen.getElementById("satu").innerHTML = "Halo".konstruktor + "<br>" + 3.14.konstruktor + "<br>" + false.konstruktor + "<br>" + [1, 2, 3].konstruktor + "<br>" + {nama: "Halo", umur: 18}.konstruktor + "<br>" + Tanggal baru().konstruktor + "<br>" + fungsi () { }.konstruktor; </skrip> </tubuh> </html>
Variabel JavaScript dapat dikonversi ke variabel baru atau tipe data lain:
<!DOCTYPE html> <html lang="zh-CN"> <kepala> <meta http-equiv="content-Type" charset="UTF-8"> <meta http-equiv="x-ua-kompatibel" content="IE=Edge"> <judul>Judul</judul> </kepala> <tubuh> <p>Metode String() dapat mengubah angka menjadi string</p> <p id="one">DI SINI</p> <p>Metode toString() dapat mengubah angka menjadi string</p> <p id="dua">DI SINI</p> <skrip> misalkan x = 123; dokumen.getElementById("satu").innerHTML = String(x) + "<br>" + Tali(123) + "<br>" + Tali(100 + 23); document.getElementById("dua").innerHTML = x.toString() + "<br>" + (123).toString() + "<br>" + (100 + 123.2).toString(); </skrip> </tubuh> </html>
Operator+ dapat digunakan untuk mengubah variabel menjadi angka:
<!DOCTYPE html> <html lang="zh-CN"> <kepala> <meta http-equiv="tipe-konten" charset="UTF-8"> <meta http-equiv="x-ua-kompatibel" content="IE=Edge"> <judul>Judul</judul> </kepala> <tubuh> <P>Operator typeof mengembalikan variabel atau tipe ekspresi</P> <button onclick="myFuncOne()">KLIK DI SINI SATU</button> <p id="one">DI SINI</p> <button onclick="myFuncTwo()">KLIK DI SINI DUA</button> <p id="dua">DI SINI</p> <skrip> fungsi myFuncOne() { misalkan y = "5"; misalkan x = +y; dokumen.getElementById("satu").innerHTML = ketik y + "<br>" + x + "<br>" + ketik x; } fungsi myFuncTwo() { biarkan a = "Halo"; misalkan b = +a; document.getElementById("dua").innerHTML = ketik a + "<br>" + b + "<br>" + ketik b; } </skrip> </tubuh> </html>
nilai primitif | ke | konversi angka ke konversi string | ke nilai Boolean |
---|---|---|---|
false | 0 | "false" | false |
true | 1 | "true" | true |
0 | 0 | "0" | false |
1 | 1 | "1" | true |
"0" | 0 | "0 " | benar |
"000" | 0 | "000" | benar |
"1" | 1 | "1" | benar |
NaN | NaN | "NaN" | salah |
Infinity Infinity | " | Infinity" | benar |
-Infinity | -Infinity | "-Infinity" | true |
"" | 0 | "" | false |
"20" | 20 | " 20 " | benar |
"Runoob" | NaN | "Runoob" | benar |
[ ] | 0 | "" | benar |
[20] | 20 | "20" | benar |
[10,20] | NaN | "10,20" | benar |
["Runoob"] | NaN | "Runoob" | benar |
["Runoob " ,"Google"] | NaN | "Runoob,Google" | true |
function(){} | NaN | "function(){}" | true |
{ } | NaN | "[Objek Objek]" | true |
null | 0 | "null" | false |
tidak terdefinisi | NaN | "tidak terdefinisi | " |
Ekspresi reguler (Bahasa Inggris: Regular Expression, sering disingkat regex, regexp atau RE dalam kode) menggunakan string tunggal untuk mendeskripsikan dan mencocokkan serangkaian pola pencarian string yang mematuhi aturan sintaksis tertentu.
pencarian()
digunakan untuk mengambil substring tertentu dalam sebuah string, atau mengambil substring yang cocok dengan ekspresi reguler, dan mengembalikan posisi awal substring.
<!DOCTYPEhtml> <html lang="zh-CN"> <kepala> <meta http-equiv="content-Type" charset="UTF-8"> <meta http-equiv="x-ua-kompatibel" content="IE=Edge"> <judul>Judul</judul> </kepala> <tubuh> <p>Ambil string, cocokkan posisi</p> <button onclick="myFuncOne()">KLIK DI SINI SATU</button> <p id="one">DI SINI</p> <button onclick="myFuncTwo()">KLIK DI SINI DUA</button> <p id="dua">DI SINI</p> <skrip> fungsi myFuncOne() { biarkan str = "Halo, Dunia!"; document.getElementById("one").innerHTML = str.search(/World/i); } fungsi myFuncTwo() { let str = "Selamat datang di Tiongkok!"; document.getElementById("two").innerHTML = str.search("China"); } </skrip> </tubuh> </html>
replace()
digunakan untuk mengganti beberapa karakter dengan karakter lain dalam sebuah string, atau mengganti substring yang cocok dengan ekspresi reguler.
<!DOCTYPEhtml> <html lang="zh-CN"> <kepala> <meta http-equiv = "tipe konten" charset = "utf-8"> <meta http-equiv = "x-ua-kompatibel" konten = "ie = edge"> <judul>Judul</judul> </kepala> <tubuh> <p> Penggantian ekspresi reguler () Penggantian </p> <tombol OnClick = "myfuncone ()"> Klik satu </button> <p id = "satu"> halo, java </p> <Tombol OnClick = "myFunctWo ()"> Klik dua </button> <p id = "dua"> halo, java </p> <skrip> fungsi myfuncone () { Biarkan str = document.getElementById ("satu"). bitnertml; document.getElementById ("One"). innerHtml = str.replace (/java/i, "python"); } function myfunctwo () { Biarkan str = document.getElementById ("dua"). InnerHtml; document.geteLementById ("dua"). innerHtml = str.replace ("java", "javascipt"); } </skrip> </tubuh> </html>
Pola ekspresi reguler
Modifier | Deskripsi |
---|---|
Saya | melakukan pencocokan case-tidak sensitif. |
G | melakukan pertandingan global (menemukan semua pertandingan alih -alih berhenti setelah pertandingan pertama ditemukan). |
M | melakukan pencocokan multi-line. |
Deskripsi | Ekspresi |
---|---|
[ABC] | menemukan karakter apa pun di antara tanda kurung persegi. |
[0-9] | Menemukan angka dari 0 hingga 9. |
(x | y) | menemukan opsi yang dipisahkan oleh |. |
quantifier | Deskripsi |
---|---|
n+ | cocok dengan string apa pun yang berisi setidaknya satu n . |
n* | cocok dengan string apa pun yang mengandung nol atau lebih n . |
n | ? |
test ()
digunakan untuk mendeteksi apakah suatu string cocok dengan pola tertentu.
<!DOCTYPEhtml> <html lang = "zh-cn"> <kepala> <meta http-equiv = "tipe konten" charset = "utf-8"> <meta http-equiv = "x-ua-kompatibel" konten = "ie = edge"> <judul>Judul</judul> </kepala> <tubuh> <skrip> Biarkan obj = regexp baru ("e"); Biarkan boolone = obj.test ("Halo, ini javascript"); Biarkan booltwo = obj.test ("Ini JavaScript"); document.write (boolone + "<br>" + booltwo); </skrip> </tubuh> </html>
exec ()
digunakan untuk mengambil kecocokan ekspresi reguler dalam suatu string. Jika tidak ada kecocokan yang ditemukan, nilai pengembalian adalah nol.
<!DOCTYPEhtml> <html lang = "zh-cn"> <kepala> <meta http-equiv = "tipe konten" charset = "utf-8"> <meta http-equiv = "x-ua-kompatibel" konten = "ie = edge"> <judul>Judul</judul> </kepala> <tubuh> <skrip> Biarkan obj = regexp baru (/e/); resone = obj.exec ("Halo, ini javascript"); restwo = obj.exec ("Ini javascript"); /*Tidak berarti nol*/ document.write (resone + "<br>" + restwo); </skrip> </tubuh> </html>
Error Tipe
Coba ... Tangkap
Pernyataan Coba memungkinkan kami untuk mendefinisikan blok kode yang diuji untuk kesalahan selama eksekusi, dan pernyataan tangkapan memungkinkan kami untuk menentukan blok kode yang dieksekusi ketika kesalahan terjadi di blok Coba Kode.
<!DOCTYPEhtml> <html lang = "zh-cn"> <kepala> <meta http-equiv = "tipe konten" charset = "utf-8"> <meta http-equiv = "x-ua-kompatibel" konten = "ie = edge"> <judul>Judul</judul> </kepala> <tubuh> <input type = "tombol" value = "lihat pesan" onclick = "myfunc ()"> <skrip> Biarkan txt = ""; fungsi myfunc () { mencoba { Peringatan111 ("Halo, Dunia!") } Catch (err) { txt = "Ada kesalahan di sini n n"; txt + = "Deskripsi kesalahan:" + err.message + " n n"; txt += "Klik OK untuk melanjutkan n n"; Peringatan (txt) } } </skrip> </tubuh> </html>
Melempar
pernyataan lemparan memungkinkan kami untuk membuat kesalahan khusus. Istilah teknis yang benar adalah: membuat atau melempar pengecualian. Jika Anda menggunakan Throw With Try and Catch, Anda dapat mengontrol aliran program dan menghasilkan pesan kesalahan khusus.
<!DOCTYPEhtml> <html lang = "zh-cn"> <kepala> <meta http-equiv = "tipe konten" charset = "utf-8"> <meta http-equiv = "x-ua-kompatibel" konten = "ie = edge"> <judul>Judul</judul> </kepala> <tubuh> <p> Harap masukkan nomor antara 5-10 </p> <label untuk = "satu"> </label> <input id = "satu" type = "text"> <typon type = "tombol" onclick = "myfunc ()"> klik </button> <p id = "pesan"> di sini </p> <skrip> fungsi myfunc () { biarkan pesan; biarkan x; pesan = document.getElementById ("pesan"); message.innerhtml = ""; x = document.geteLementById ("satu"). nilai; mencoba { if (x === "") Lempar "Nilai kosong"; if (isnan (x)) Lemparkan "bukan nomor"; x = angka (x); if (x <5) Lempar "terlalu kecil"; if (x> 10) Lempar "terlalu besar"; } tangkapan (kesalahan) { message.innerHtml = "error" + error; } } </skrip> </tubuh> </html>
Ada empat cara untuk memanggil fungsi JavaScript. Secara umum, dalam JavaScript, ini menunjuk pada objek saat ini ketika fungsi dieksekusi.
Panggilan 1: Panggilan sebagai fungsi
satu
fungsi myfunc (a, b) { mengembalikan A * B; }
myfunc
(1,
2);
mengembalikan A * B; }window.myfunc (1,
2
)
;
<html lang = "zh-cn"> <kepala> <meta http-equiv = "tipe konten" charset = "utf-8"> <meta http-equiv = "x-ua-kompatibel" konten = "ie = edge"> <judul>Judul</judul> </kepala> <tubuh> <p> Fungsi disebut sebagai metode </p> <p id = "satu"> di sini </p> <skrip> biarkan myObject = { FirstName: "Bill", LastName: "Gates", fullName: function () { kembalikan this.firstName + "" + this.lastname; } }; document.geteLementById ("One"). innerHtml = myobject.fullname (); </skrip> </tubuh> </html>
Panggilan 3: Gunakan konstruktor untuk memanggil fungsi
<! Doctype html> <html lang = "zh-cn"> <kepala> <meta http-equiv = "tipe konten" charset = "utf-8"> <meta http-equiv = "x-ua-kompatibel" konten = "ie = edge"> <judul>Judul</judul> </kepala> <tubuh> <p> Dalam contoh ini, myfunc () adalah konstruktor fungsi </p> <p id = "satu"> </p> <skrip> fungsi myfunc (argone, argtwo) { this.name = argone; this.number = argtwo; } Biarkan x = myfunc baru ("halo", 123); document.geteLementById ("One"). innerHtml = x.name; </skrip> </tubuh> </html>
Panggilan 4: Panggil fungsi sebagai metode fungsi
<! Doctype html> <html lang = "zh-cn"> <kepala> <meta http-equiv = "tipe konten" charset = "utf-8"> <meta http-equiv = "x-ua-kompatibel" konten = "ie = edge"> <judul>Judul</judul> </kepala> <tubuh> <p> Fungsi panggilan sebagai metode fungsi </p> <p id = "satu"> di sini </p> <skrip> Biarkan OBJ, array; fungsi myfunc (a, b) { mengembalikan A * B; } array = [5, 6]; obj = myfunc.Amply (obj, array); document.geteLementById ("satu"). innerHtml = obj; </skrip> </tubuh> </html>
fungsi tertanam
pada kenyataannya, dalam JavaScript, semua fungsi dapat mengakses ruang lingkup tingkat atas mereka. JavaScript mendukung fungsi bersarang, dan fungsi bersarang dapat mengakses variabel fungsi tingkat atas. Fungsi inline plus () dapat mengakses variabel penghitung fungsi induk:
<! Doctype html> <html lang = "zh-cn"> <kepala> <meta http-equiv = "tipe konten" charset = "utf-8"> <meta http-equiv = "x-ua-kompatibel" konten = "ie = edge"> <judul>Judul</judul> </kepala> <tubuh> <p> Fungsi inline </p> <p id = "satu"> di sini </p> <skrip> document.getElementById ("satu"). innerHtml = add (); fungsi tambah() { Biarkan penghitung = 0; fungsi plus () { penghitung += 1; } plus(); counter kembali; } </skrip> </tubuh> </html>Penyelamatan diri dari fungsi
penutupan
disebut Bibao
<! Doctype html> <html lang = "zh-cn"> <kepala> <meta http-equiv = "tipe konten" charset = "utf-8"> <meta http-equiv = "x-ua-kompatibel" konten = "ie = edge"> <judul>Judul</judul> </kepala> <tubuh> <p> Penghitung lokal </p> <typon type = "tombol" onclick = "myfunc ()"> counter </button> <p id = "satu"> di sini </p> <skrip> Biarkan add = (function () { Biarkan penghitung = 0; return function () { Return counter += 1; } })(); fungsi myfunc () { document.getElementById ("satu"). innerHtml = add (); } </skrip> </tubuh> </html>