Javascript
TỔNG QUAN
ThS Nguyễn Minh Vi
BM Tin học – ĐH An Giang
Giới thiệu
Dynamic HTML
DHTML = HTML + CSS + Ngôn ngữ script
Ngôn ngữ script: là ngôn ngữ dạng thông
dịch, giúp tăng tính tương tác giữa trang
web với người dùng
Javascript
VBscript
…
Javascript
Là ngôn ngữ kịch bản dùng để tạo các
script ở cả server-side và client-side
Javascript tại server-side (thực thi trên
web server):
Kết nối cơ sở dữ liệu
Chia sẻ thông tin cho các người dùng của
ứng dụng
Truy cập vào hệ thống file trên server
Javascript
Javascript tại client-side (thực thi trên web
browser):
Tương tác với người dùng, phát sinh các
hành động để đáp lại các sự kiện
Thay đổi nội dung, vị trí các phần tử một cách
“động”
Kiểm tra tính hợp lệ của dữ liệu trước khi gửi
về web server để xử lý
Chèn javascript vào trang html
Liên kết file javascript bên ngoài
src=“tên_file.js"></script>
Chèn trực tiếp vào tài liệu html
<script language="Javascript">
// các câu lệnh
</script>
Dùng như giá trị thuộc tính của thẻ
Click</a>
Ví dụ
<script language="Javascript">
document.write('Sử dụng hộp thoại trong Javascript');
alert('Chào mừng bạn đến với Javascript!');
confirm('Bạn đã sẵn sàng chưa?');
</script>
Quy tắc ngữ pháp
Phân biệt chữ hoa và chữ thường
Mỗi câu lệnh kết thúc bởi ;
Dùng cùng cặp ký hiệu mở đóng
Không phân biệt các ký tự khoảng trắng
Biến
Tên biến: có thể chứa chữ cái, chữ số, ký
hiệu _
Không bắt đầu bằng chữ số
Khai báo bằng từ khóa var
VD:
var x = 10;
Biến có phạm vi xác định
Toàn cục
Cục bộ
Kiểu dữ liệu
Numbers
Boolean
Strings
Null
Object (cấp phát bằng từ khóa new)
Lưu ý: một biến có thể thuộc bất kỳ kiểu dữ
liệu nào tùy ý
Hằng số
Số nguyên: có thể biểu diễn bằng hệ thập
phân, nhị phân, thập lục phân
Số thực: có thể có dấu thập phân hoặc e
hay E theo sau số nguyên (lũy thừa cơ số
10), số nguyên có thể dương hoặc âm
Boolean: True hoặc False
Null: null (giữ chỗ cho biến)
Chuỗi: đặt trong cặp nháy đơn ‘ ’ hoặc
nháy kép “ ”
Ký tự đặc biệt trong chuỗi
\b
\f
\n
\r
\t
backspace
form feed
new line
carriage return
tab
Toán tử
Số học
+, -, *, /, % (chia lấy dư), - (lấy số đối),
++, --
So sánh
==, !=, >, >=, <, <=
Logic
&& (and), || (or), ! (not)
Chuỗi
+ (ghép chuỗi)
Khác
(condition) ? trueVal : falseVal
typeof(value)
Biểu thức
Biểu thức là sự kết hợp các biến, hằng số
thông qua các toán tử
Các dạng biểu thức
số học: trả về trị số
logic: trả về trị boolean
chuỗi: trả về trị chuỗi
Biểu thức quy tắc
Là mẫu để tìm chuỗi ký tự cùng dạng
trong một chuỗi
Mẫu đơn giản:
tìm chính xác theo các ký tự trong mẫu
VD: /abc/
Mẫu gồm các ký tự đơn giản và đặc biệt
VD: /ab*c/
Biểu thức quy tắc
Một số ký tự đặc biệt
?
*
+
{n,m}
\w
\d
\s
[…]
ký tự (trước nó) xuất hiện 0 hoặc 1 lần
xuất hiện 0 hoặc nhiều lần
xuất hiện 1 hoặc nhiều lần
xuất hiện ít nhất n, nhiều nhất m lần
ký tự alphanumeric
ký tự số
ký tự trắng
bất kỳ ký tự nào trong ngoặc
Biểu thức quy tắc
Các phương thức:
test
search
exec
match
replace
split
kiểm tra mẫu trả về trị true / false
kiểm tra mẫu trả về chỉ số / -1
tìm mẫu và trả về mảng thông tin
tìm mẫu và trả về mảng thông tin / null
tìm và thay chuỗi con
tách chuỗi thành mảng chuỗi con
Cách gọi phương thức:
tên_đối_tượng.tên_phương_thức(tham_số)
Biểu thức quy tắc
VD:
<script language="Javascript">
mau = /abc/
s = mau.test('abcde');
alert(s);
</script>
Các câu lệnh điều khiển
Điều kiện:
if … else
switch
Lặp
for
while
do … while
for … in
Các từ khóa
break
continue
with
Ví dụ
VD:
<script language="Javascript">
arrMau = new Array('xanh','vàng','đỏ');
for (var i in arrMau)
document.write('
arrMau['
+ i + ']=' + arrMau[i]);
</script>
Hàm
Hàm định nghĩa sẵn
eval(string)
isNaN(value)
//tính giá trị chuỗi
//ktra không là số
Hàm do người dùng định nghĩa
Cú pháp
function tên_hàm(tsố_1, tsố_2, …)
{
// các_câu_lệnh
}
Hàm có thể trả về giá trị bằng lệnh return
Hàm – Ví dụ
Khai báo hàm
function Cong(so1, so2){
var tong = so1 + so2;
return (tong);
}
Gọi hàm
var x = Cong(10, 5);
Javascript
CÁC ĐỐI TƯỢNG CƠ BẢN
ThS Nguyễn Minh Vi
BM Tin học – ĐH An Giang
Đối tượng (Object)
Một đối tượng là một gói dữ liệu toàn diện,
bao gồm:
các thuộc tính (biến)
các phương thức (hàm)
Truy cập vào thuộc tính
tên_đối_tượng.tên_thuộc_tính
Truy cập vào phương thức
tên_đối_tượng.tên_phương_thức()
Phân cấp đối tượng
Phân cấp đối tượng trong một trang web
Các đối tượng trình duyệt
Các đối tượng kịch bản
Các phần tử HTML
Document
History
Location
…
String
Math
Date
…
Mảng
Mảng dùng để lưu nhiều giá trị vào một
biến, phân biệt bởi chỉ số (bắt đầu từ 0)
Mảng trong Javascript được xem như đối
tượng. Tạo mảng:
mang = new Array([ptử_1, …])
Các thuộc tính:
length, indexOf
Các phương thức của mảng:
pop, push, reverse, shift, sort