Bahasa penskripan klien ialah bahasa pengaturcaraan yang dilaksanakan pada komputer klien melalui pelayar web untuk memanipulasi serta memaparkan kandungan web secara interaktif dan dinamik tanpa perlu kerap membebankan pelayan.
math.js
date.js
Permohonan URL diproses antara pelayar web pengguna (klien) dan komputer hos (pelayan). Skrip klien dilaksanakan pada pelayar, manakala skrip pelayan dilaksanakan pada pelayan sebelum laman dihantar semula.
Aliran Permohonan URL: Klien dan Pelayan
Skrip klien diproses pada pelayar pengguna; skrip pelayan diproses pada komputer hos sebelum laman dihantar semula.
Keperluan bahasa penskripan klien, algoritma asas, pemboleh ubah, struktur kawalan, pustaka piawai, subatur cara, tatasusunan dan laman interaktif.
Bahasa penskripan klien ialah bahasa pengaturcaraan yang dilaksanakan pada komputer klien melalui pelayar web untuk memanipulasi serta memaparkan kandungan web secara interaktif dan dinamik.
Gabungan HTML, CSS, dan JavaScript membolehkan pelbagai algoritma asas pemprosesan data dilaksanakan terus pada pelayar.
Pelanggan (Klien) ialah pelayar web pengguna pada komputer atau peranti mudah alih yang menghantar permohonan.
Pelayan (Server) memproses permintaan, melaksanakan penskripan pelayan, dan menghantar laman web serta berinteraksi dengan pangkalan data.
Kod JavaScript ditulis secara terus di dalam fail HTML, di antara tag <script> dan </script>.
<script>
</script>
Kod JavaScript disimpan dalam fail luaran berekstensi .js dan dipanggil menggunakan atribut src.
.js
src
<script src="myScript.js"></script>
Tidak dapat melaksanakan tugas capaian terus kepada pangkalan data pelayan atau fail sistem pelayan.
Membandingkan dua unsur bersebelahan satu demi satu dan menukar kedudukan jika urutan salah. Turutan menaik: tukar jika unsur pertama > unsur kedua. Turutan menurun: tukar jika unsur pertama < unsur kedua. Sesuai untuk saiz data kecil dan tujuan pembelajaran.
unsur pertama > unsur kedua
unsur pertama < unsur kedua
Mencari nilai terkecil atau terbesar daripada senarai dan menukar kedudukannya dengan unsur yang dirujuk. Turutan menaik: cari indeks terkecil min, bandingkan jika no[j] < no[min], kemudian tukar dengan no[i] jika min != i.
min
no[j] < no[min]
no[i]
min != i
Memerlukan data yang telah diisih. Menentukan indeksTengah = Math.floor((indeksAkhir + indeksAwal) / 2). Jika nilai tengah sama dengan nilai carian, nilai dijumpai. Jika no[indeksTengah] > nilai carian, cari di separuh kiri. Jika no[indeksTengah] < nilai carian, cari di separuh kanan.
indeksTengah = Math.floor((indeksAkhir + indeksAwal) / 2)
no[indeksTengah] > nilai carian
no[indeksTengah] < nilai carian
Maksimum: nilai awal sangat rendah seperti -1; jika unsur > nilaiMaksimum, kemas kini nilai maksimum. Minimum: nilai awal sangat tinggi seperti 999; jika unsur < nilaiMinimum, kemas kini nilai minimum. Min: purata = jumlah / pembilang dengan akumulator jumlah = jumlah + no dan kaunter pembilang = pembilang + 1. Bilangan: pembilang = pembilang + 1.
-1
unsur > nilaiMaksimum
999
unsur < nilaiMinimum
purata = jumlah / pembilang
jumlah = jumlah + no
pembilang = pembilang + 1
Struktur giliran menggunakan konsep FIFO (First-In, First-Out). Operasi asas ialah enqueue (masuk) dan dequeue (keluar).
Kaedah dalam JavaScript:
push()
shift()
unshift()
pop()
Pemboleh ubah diisytiharkan menggunakan kata kunci var.
var
Pemalar diisytiharkan menggunakan kata kunci const, contohnya nilai π = 3.142.
const
5
100.50
"Ali bin Abu"
true
false
Pelaksanaan arahan satu demi satu mengikut urutan dari atas ke bawah tanpa syarat.
if melaksanakan blok jika syarat true. if...else melaksanakan satu blok jika true, blok lain jika false.
if
if...else
Operator hubungan: ==, !=, >, <, >=, <=.
==
!=
>
<
>=
<=
Operator logik: && (AND), || (OR), ! (NOT).
&&
||
!
Berasaskan pembilang: gelung for(nilai awal; syarat tamat; kemas kini).
for(nilai awal; syarat tamat; kemas kini)
Berasaskan syarat: gelung while menyemak syarat dahulu; gelung do...while melaksanakan blok sekurang-kurangnya sekali sebelum syarat disemak.
while
do...while
Kawalan gelung: break memberhentikan gelung serta-merta; continue melangkau baki lelaran semasa.
break
continue
Standard library ialah koleksi fungsi atau kaedah sedia ada yang ditakrifkan dalam spesifikasi bahasa untuk memudahkan pengaturcaraan. Kelebihannya: boleh digunakan tanpa perlu tahu cara pelaksanaannya, boleh diguna berulang kali, dan menjimatkan masa pembangunan.
Memuatkan fungsi matematik seperti math.sqrt(x), math.pow(x, y), math.add(x, y), math.subtract(x, y), math.divide(x, y), math.cube(x), dan math.sort(x).
math.sqrt(x)
math.pow(x, y)
math.add(x, y)
math.subtract(x, y)
math.divide(x, y)
math.cube(x)
math.sort(x)
Memuatkan fungsi tarikh seperti Date.today(), Date.parse('today'), dan Date.today().add().days().
Date.today()
Date.parse('today')
Date.today().add().days()
Pustaka boleh dimasukkan melalui fail tempatan <script src="math.js"></script> atau pautan CDN pelayan web.
<script src="math.js"></script>
Melaksanakan tugas tanpa memulangkan sebarang nilai ke pemanggil; hanya memaparkan output secara terus.
Memproses data dan memulangkan nilai menggunakan kata kunci return.
return
Parameter sebenar ialah nilai atau pemboleh ubah yang dihantar semasa memanggil subatur cara. Parameter rasmi ialah pemboleh ubah dalam takrifan subatur cara yang menerima nilai yang dihantar.
Tatasusunan menyimpan senarai elemen dalam satu nama pemboleh ubah tunggal. Indeks berasaskan sifar, bermula dari indeks 0 hingga n-1.
0
n-1
Pengisytiharan: var no = [5, 1, 4, 12, 8]; atau var no = [];. Tatasusunan boleh dimanipulasi menggunakan gelung for untuk proses carian, pengisihan, dan penjumlahan.
var no = [5, 1, 4, 12, 8];
var no = [];
for
Tag HTML <button onclick="namaFungsi()">Label</button> membolehkan pengguna mencetuskan peristiwa untuk melaksanakan kod JavaScript.
<button onclick="namaFungsi()">Label</button>
Tag <form> bersama komponen input seperti <input type="text"> dan <input type="submit"> untuk menerima input interaktif.
<form>
<input type="text">
<input type="submit">
Tag <a href="javascript:namaFungsi()">Teks/Imej</a> untuk melaksanakan subatur cara atau membuka tetingkap baharu menggunakan window.open() apabila teks atau grafik diklik.
<a href="javascript:namaFungsi()">Teks/Imej</a>
window.open()
Cuba jawab sendiri dahulu, kemudian tekan butang untuk menyemak.
Apakah syarat utama yang mesti dipenuhi oleh satu senarai data sebelum carian perduaan (binary search) dapat dilaksanakan?
Senarai data tersebut mestilah telah diisih terlebih dahulu, sama ada tertib menaik atau menurun.
Apakah perbezaan utama dari segi pemulangan nilai antara procedure (prosedur) dan function (fungsi) dalam JavaScript?
Prosedur tidak memulangkan sebarang nilai kepada pemanggil, manakala fungsi memulangkan nilai menggunakan pernyataan return.
Dalam struktur giliran (queue), apakah operasi yang dilakukan oleh fungsi shift() dan pop() dalam JavaScript?
shift() mengeluarkan nilai terawal dari bahagian depan tatasusunan, manakala pop() mengeluarkan nilai dari bahagian belakang tatasusunan, bergantung pada kaedah kemasukan data FIFO yang digunakan.
panjang - 1
undefined
i <= no.length
=
JavaScript adalah sama dengan bahasa Java.
Java ialah bahasa pengaturcaraan berorientasikan objek yang berasingan, manakala JavaScript ialah bahasa penskripan berasaskan objek yang biasanya dibenam dalam HTML untuk pelayar web. Sintaksnya mirip tetapi konsep dan kegunaannya berbeza.
Penskripan klien boleh menggantikan sepenuhnya fungsi penskripan pelayan dalam pemprosesan pangkalan data.
Penskripan klien tidak boleh mencapai pangkalan data pusat pelayan atau memanipulasi fail sistem pada pelayan secara terus atas faktor fungsi dan keselamatan.
Nilai awal bagi algoritma mencari maksimum boleh dimulakan dengan nombor yang besar seperti 999.
Nilai awal mencari maksimum mesti dimulakan dengan nilai yang paling rendah, contohnya -1 atau unsur pertama senarai, supaya sebarang nombor sebenar dalam senarai dapat mengatasinya. Nilai 999 digunakan untuk mencari nilai minimum.
push
shift
unshift
pop
1 Apakah prinsip operasi yang digunakan oleh struktur data giliran (queue)?
2 Antara pernyataan berikut, yang manakah membezakan gelung do...while daripada gelung while?
3 Kata kunci yang digunakan dalam JavaScript untuk mengisytiharkan pemalar yang nilainya tidak boleh berubah ialah .
4 Dalam kaedah carian perduaan (binary search), senarai unsur yang hendak dicari mestilah telah terlebih dahulu.
Seret pilihan ke kotak padanan yang betul. Jika menggunakan telefon, tekan pilihan jawapan dahulu, kemudian tekan kotak padanan.
There is something wrong with this question.