Là ngôn ngữ kịch bản đƣợc thực hiện trên máy 
client.
 Đƣợc nhúng vào trong trang web.
 Đƣợc thiết kế để tăng khả năng tƣơng tác cho 
trang web.
 Là ngôn ngữ thông dịch
 Đƣợc hỗ trợ bởi trình duyệt
 Đƣợc phát triển bởi hãng Netscape (khác với 
Java)
              
                                            
                                
            
 
            
                 84 trang
84 trang | 
Chia sẻ: Mr Hưng | Lượt xem: 1185 | Lượt tải: 0 
              
            Bạn đang xem trước 20 trang nội dung tài liệu Ngôn ngữ javascript, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
NGÔN NGỮ JAVASCRIPT 
Giảng viên: Hoàng Văn Hiệp 
Viện CNTT – ĐH Bách Khoa Hà Nội 
JAVASCRIPT LÀ GÌ? 
 Là ngôn ngữ kịch bản đƣợc thực hiện trên máy 
client. 
 Đƣợc nhúng vào trong trang web. 
 Đƣợc thiết kế để tăng khả năng tƣơng tác cho 
trang web. 
 Là ngôn ngữ thông dịch 
 Đƣợc hỗ trợ bởi trình duyệt 
 Đƣợc phát triển bởi hãng Netscape (khác với 
Java) 
JAVASCRIPT CÓ THỂ LÀM GÌ? 
 Đặt dữ liệu động vào trong trang HTML 
 Đáp ứng các sự kiện 
 Đọc ghi các đối tƣợng HTML 
 Sử dụng để kiểm tra dữ liệu trƣớc khi gửi đến 
server 
 Lƣu trữ và đọc thông tin ngƣời sử dụng (cookie) 
CHÈN JAVASCRIPT VÀO HTML 
 Chèn trực tiếp mã vào trong HTML 
<!-- 
 // Các dòng lệnh JavaScript 
//--> 
 Chèn một file JavaScript chứa mã 
<script language=“JavaScript” 
src=“hello.js”> 
VÍ DỤ 
<script 
language=“JavaScript”> 
<!-- 
 document.write(“Hello 
world!”); 
//--> 
VỊ TRÍ ĐẶT JAVASCRIPT 
 Các kịch bản đƣợc đặt trong 
phần 
Chỉ đƣợc thực hiện khi có lời 
gọi 
Đáp ứng các sự kiện 
Thƣờng là các hàm 
 Các kịch bản đƣợc đặt trong 
phần 
Đƣợc thực hiện khi trang web 
đƣợc nạp bởi trình duyệt 
VỊ TRÍ ĐẶT JAVASCRIPT 
 Có thể đặt các kịch bản ở cả phần và 
phần 
 Số lƣợng các kịch bản đƣợc nhúng vào HTML 
không giới hạn 
CHÚ THÍCH TRONG JAVASCRIPT 
 Giống nhƣ trong ngôn ngữ C++ 
 Chú thích cho một dòng 
 // Dòng chú thích 
 Chú thích cho một đoạn 
/* 
Đoạn chú thích 
*/ 
CHÚ Ý 
 Các lệnh trong JavaScript phân biệt chữ hoa và 
chữ thƣờng 
Ví dụ Document.Write(“”) là sai 
 Kết thúc lệnh bằng dấu ; 
BIẾN TRONG JAVASCRIPT 
 Đƣợc sử dụng để lƣu trữ dữ liệu và có thể thay 
đổi khi kịch bản đƣợc thực hiện 
 Quy tắc đặt tên biến 
 Phải bắt đầu bằng một chữ cái hoặc ký tự gạch dƣới _ 
Ví dụ: x, y, z, length, _height, _width 
 Phân biệt chữ hoa và chữ thƣờng 
Biến X khác với biến x 
KHAI BÁO BIẾN 
 Cú pháp: var tên_biến; 
Ví dụ 
var st; 
var length; 
 Khởi tạo giá trị cho biến 
var tên_biến = giá_trị_khởi_tạo; 
Ví dụ 
var st = “Hello”; 
var length = 100; 
 Không xác định kiểu cụ thể của biến 
GÁN GIÁ TRỊ CHO BIẾN 
 Cú pháp 
tên_biến = giá_trị; 
Ví dụ 
st = “Hello world”; 
length = 10; 
 Chú ý 
Kiểu của biến đƣợc xác định dựa vào giá trị gán 
=> có thể thay đổi đƣợc kiểu 
KIỂU DỮ LIỆU 
 Kiểu số 
 x = 10; 
 Kiểu logic 
 ans = true; 
 Kiểu chuỗi 
 s = “Hello”; 
CÁC TOÁN TỬ SỐ HỌC 
Toán tử Ý nghĩa Ví dụ (y = 5) Kết quả 
+ Cộng x = y + 2 x = 7 
- Trừ x = y – 2 x = 3 
* Nhân x = y * 2 x = 10 
/ Chia x = y / 2 x = 2.5 
% Lấy số dư x = y % 2 x = 1 
++ Cộng 1 x = ++y x = 6 
-- Trừ 1 x = --y x = 4 
PHÉP CỘNG VỚI CHUỖI KÝ TỰ 
 Ghép các chuỗi với nhau 
 Ví dụ 
s1 = “hello”; 
s2 = “world”; 
s = s1 + s2; 
// s = “helloworld” 
 Cộng chuỗi với số, kết quả thu đƣợc là chuỗi 
 Ví dụ 
 s1 = “5”; 
 s2 = 5; 
 s = s1 + s2; 
 // s = 55 
CÁC TOÁN TỬ SO SÁNH 
Toán tử Ý nghĩa Ví dụ (x = 5) Kết quả 
== So sánh bằng (giá trị) x == 5 true 
=== So sánh bằng (giá trị 
và kiểu) 
x === “5” false 
!= So sánh khác x != 3 true 
> Lớn hơn x > 6 false 
< Nhỏ hơn x < 7 true 
>= Lớn hơn hoặc bằng x >= 6 false 
<= Nhỏ hơn hoặc bằng x <= 6 true 
TOÁN TỬ LOGIC 
Toán tử Ý nghĩa Ví dụ (x = 5, y = 7) Kết quả 
&& và (x > 5) && (y <= 7) false 
|| hoặc (x > 5) || (y <= 7) true 
! đảo !(x == y) true 
TOÁN TỬ ĐIỀU KIỆN 
 Cú pháp 
tên_biến = (điều_kiện)?giá_trị_1:giá_trị_2; 
 Tùy vào điều kiện mà biến đƣợc gán giá trị 1 
hoặc giá trị 2 
 Ví dụ 
x = 4; 
y = (x > 5)?x + 1:x – 1; 
// y = 3 
BIỂU THỨC LỰA CHỌN IFELSE 
 Cú pháp 
Dạng 1: if (điều_kiện) 
 { 
 // lệnh 
 } 
 Dạng 2: if (điều_kiện) 
 { 
 // lệnh 
 } 
 else 
 { 
 // lệnh 
 } 
VÍ DỤ 
var d = new Date(); 
var time = d.getHours(); 
if (time < 12) 
{ 
 document.write(“Good morning”); 
} 
else if ((time >= 12) && (time < 18)) 
{ 
 document.write(“Good afternoon”); 
} 
else 
{ 
 document.write(“Good evening”); 
} 
BIỂU THỨC LỰA CHỌN SWITCH 
 Cú pháp 
switch (tên_biến) 
{ 
case giá_trị_1: 
 // khối lệnh 1 
 break; 
case giá_trị_2: 
 // khối lệnh 2 
 break; 
default: 
 // khối lệnh default 
} 
VÍ DỤ 
Switch Case Statement 
var date = new Date(); 
var day = date.getDay(); 
switch (day) 
{ 
 case 0: 
 document.write("Today is Sunday."); 
 break; 
 case 6: 
 document.write("Today is Saturday."); 
 break; 
 default: 
 document.write("Today is not weekend."); 
} 
CÁC HỘP THOẠI THÔNG BÁO 
 Hộp thoại alert 
Cú pháp alert(“thông_báo”); 
Ví dụ: 
alert(“Hello world!”); 
CÁC HỘP THOẠI THÔNG BÁO 
 Hộp thoại confirm 
Cú pháp return = confirm(“thông_báo”); 
Ví dụ: 
var ret = confirm(“Are you sure?”); 
if (ret == true) 
 document.write(“You pressed OK”); 
else 
 document.write(“You pressed Cancel”); 
CÁC HỘP THOẠI THÔNG BÁO 
 Hộp thoại prompt 
Cú pháp value = prompt(“thông_báo”, 
“giá_trị_mặc định”); 
Ví dụ 
name = prompt(“What’s your name?”, “Peter”); 
document.write(“Hello ” + name); 
HÀM TRONG JAVASCRIPT 
 Định nghĩa hàm 
Cú pháp 
function tên_hàm() 
{ 
// các lệnh thực hiện bên trong hàm 
} 
 Lời gọi hàm 
tên_hàm(); 
VÍ DỤ 
Function 1 
function thongbao() 
{ 
 alert("Hello"); 
} 
thongbao(); 
TRUYỀN THAM SỐ CHO HÀM 
 Cú pháp 
function tên_hàm(tham_số_1, tham_số_2, ) 
{ 
} 
 Lời gọi hàm 
tên_hàm(tham_số_1, tham_số_2, ); 
VÍ DỤ 
Function 2 
function thongbao(msg) 
{ 
 alert(msg); 
} 
thongbao("Chao cac ban!"); 
GIÁ TRỊ TRẢ VỀ CỦA HÀM 
 Cú pháp 
function tên_hàm(danh_sách_tham_số) 
{ 
// nội dung hàm 
return giá_trị_trả_về; 
} 
 Lời gọi hàm 
giá_trị = tên_hàm(danh_sách_tham_số); 
VÍ DỤ 
Function 2 
function cong3so(x, y, z) 
{ 
 var t = x + y + z; 
 return t; 
} 
var t = cong3so(1, 2, 3); 
document.write(t); 
BIẾN TOÀN CỤC BIẾN ĐỊA PHƢƠNG 
 Biến toàn cục 
Định nghĩa bên ngoài hàm 
Tồn tại từ khi đƣợc định nghĩa đến khi trang web 
đóng lại 
Có thể truy nhập từ mọi nơi 
 Biến địa phƣơng 
Định nghĩa bên trong hàm 
Tồn tại từ khi đƣợc định nghĩa đến khi kết thúc hàm 
Chỉ truy nhập đƣợc ở bên trong hàm 
VÕNG LẶP FOR 
 Cú pháp 
for (biến=giá_trị_bắt_đầu; 
biến<giá_trị_kết_thúc;thay_đổi_giá_trị_biến) 
{ 
// các lệnh cần lặp 
} 
 Lặp một đoạn mã theo số lần xác định 
VÍ DỤ 
For Loop 
var i = 0; 
for (i = 0; i < 10; i++) 
{ 
 document.write(i + ""); 
} 
VÕNG LẶP WHILE 
 Cú pháp 
while (điều_kiện) 
{ 
// các lệnh cần lặp 
} 
 Lặp khi nào điều kiện còn đúng 
 Kiểm tra điều kiện trƣớc khi thực hiện lệnh 
VÍ DỤ 
While Loop 
var i = 0; 
while (i < 10) 
{ 
 document.write(i + ""); 
 i++; 
} 
VÕNG LẶP DO  WHILE 
 Cú pháp 
do 
{ 
// các lệnh cần lặp 
} 
while (điều_kiện); 
 Lặp khi nào điều kiện còn đúng 
 Kiểm tra điều kiện sau khi thực hiện lệnh 
VÍ DỤ 
Do While Loop 
var i = 0; 
do 
{ 
 document.write(i + ""); 
 i++; 
} 
while (i < 10); 
LỆNH BREAK VÀ LỆNH CONTINUE 
 Lệnh break 
Thoát khỏi vòng lặp hiện tại 
 Lệnh continue 
Chuyển tới vòng lặp tiếp theo 
VÍ DỤ - LỆNH BREAK 
Break 
Statement 
<script 
language="JavaScript"> 
var i; 
for (i = 0; i < 10; i++) 
{ 
 if (i == 3) 
 break; 
 document.write(i + 
""); 
} 
VÍ DỤ - LỆNH CONTINUE 
Continue 
Statement 
var i; 
for (i = 0; i < 10; i++) 
{ 
 if (i == 3) 
 continue; 
 document.write(i + ""); 
} 
CÁC KÝ TỰ ĐẶC BIỆT 
 Một số ký tự đặc biệt 
 “ „ & \ 
 Hiện ký tự đặc biệt sử dụng JavaScipt 
 \” \‟ \& \\ \n \r \t 
CÁC SỰ KIỆN TRONG JAVASCRIPT 
 Là các hành động đƣợc xác định bởi JavaScript. 
 Là thuộc tính của các thành phần trong HTML. 
 Mỗi thành phần trong trang web có những sự 
kiện nào đó. 
 Các sự kiện có thể kích hoạt các hàm 
JavaScript. 
MỘT SỐ SỰ KIỆN 
 Mở, đóng một trang web 
 Di chuyển chuột trên các đối tƣợng, nhấp chuột 
vào các đối tƣợng 
 Thay đổi giá trị các đối tƣợng 
 Nhập ký tự từ bàn phím 
HÀM XỬ LÝ SỰ KIỆN 
 Là một hàm JavaScript 
 Đƣợc thực hiện khi sự kiện xảy ra 
 Cú pháp 
sự_kiện=“tên_hàm();” 
SỰ KIỆN MỞ ĐÓNG TRANG WEB 
 Mở một trang web 
 onLoad 
 Đóng một trang web 
 onUnload 
VÍ DỤ 
Load and Unload Event 
function load() 
{ 
 alert("Mo trang web"); 
} 
function unload() 
{ 
 alert("Dong trang web"); 
} 
SỰ KIỆN CHUỘT 
 onMouseDown 
 onMouseUp 
 onMouseMove 
 onMouseOver 
 onMouseOut 
VÍ DỤ 
Mouse Events 
function mouseDown() 
{ 
 alert("onMouseDown event"); 
} 
function mouseUp() 
{ 
 alert("onMouseUp event"); 
} 
function mouseMove() 
{ 
 alert("onMouseMove event"); 
} 
function mouseOver() 
{ 
 alert("onMouseOver event"); 
} 
function mouseOut() 
{ 
 alert("onMouseOut event"); 
} 
<img src="globe.png" 
onMouseDown="mouseDown();" 
onMouseUp="mouseUp();" 
onMouseMove="mouseMove();" 
onMouseOver="mouseOver();" 
onMouseOut="mouseOut();"> 
SỰ KIỆN CHUỘT 
 onClick 
 onDblClick 
VÍ DỤ 
Mouse Events 
function Click() 
{ 
 alert("onClick event"); 
} 
function DblClick() 
{ 
 alert("onDblClick event"); 
} 
<img src="globe.png" 
onClick="Click();" 
onDblClick="DblClick();"> 
CÁC ĐỐI TƯỢNG TRONG JAVASCIPT 
 JavaScript là một ngôn ngữ lập trình hướng đối 
tượng 
 Mỗi đối tượng bao gồm các thuộc tính và 
phương thức 
 Thuộc tính là giá trị gắn với đối tượng 
 Ví dụ: một chuỗi có độ dài khác nhau 
 Phương thức là hành động được thực hiện 
trên đối tượng 
 Ví dụ: đổi các ký tự trong chuỗi thành chữ hoa 
THUỘC TÍNH VÀ PHƢƠNG THỨC 
 đối_tƣợng.thuộc_tính 
 đối_tƣợng.phƣơng_thức() 
ĐỐI TƢỢNG STRING 
 Đƣợc tạo khi gán giá trị với một chuỗi 
 Ví dụ: 
var st = “Hello”; // st là đối tƣợng chuỗi 
document.write(st.length); // thuộc tính 
var stt1 = st.toUpperCase(); // phƣơng thức 
 Thuộc tính 
 length độ dài chuỗi (số ký tự) 
MỘT SỐ PHƢƠNG THỨC 
 charAt(index) 
 trả về ký tự tại vị trí index trong chuỗi 
 indexOf(searchvalue, fromindex) 
 tìm vị trí của chuỗi ký tự searchvalue từ vị trí 
fromindex 
 nếu không tìm thấy thì trả về -1 
 lastIndexOf(searchvalue, fromindex) 
 giống indexOf nhƣng bắt đầu từ bên phải 
MỘT SỐ PHƢƠNG THỨC 
 match(searchString) 
 trả về chuỗi searchString nếu tìm thấy, trả về null nếu 
không tìm thấy 
 search(searchString) 
 trả về vị trí chuỗi searchString nếu tìm thấy, trả về 
null nếu không tìm thấy 
 substr(start, length) 
 trích ra chuỗi ký tự có độ dài length bắt đầu tự vị trí 
start 
ĐỐI TƢỢNG DATE 
 Đƣợc sử dụng để làm việc với dữ liệu là thời gian 
 Tạo đối tƣợng Date 
 var myDate = new Date(); 
 sau khi khởi tạo, đối tƣợng lƣu trữ thời gian hiện tại 
MỘT SỐ PHƢƠNG THỨC 
 getDate() 
 trả về dữ liệu là ngày (1 – 31) 
 getDay() 
 trả về dữ liệu là thứ (0 – 6) 
 getMonth() 
 trả về dữ liệu tháng (0 – 11) 
 getFullYear() 
 trả về dữ liệu năm, gồm 4 chữ số 
MỘT SỐ PHƢƠNG THỨC 
 getHours() 
 trả về dữ liệu giờ (0 – 23) 
 getMinutes() 
 trả về dữ liệu phút (0 – 59) 
 getSeconds() 
 trả về dữ liệu giây (0 – 59) 
MỘT SỐ PHƢƠNG THỨC 
 setDate(day) 
Thiết lập ngày (1 – 31) 
 setMonth(month) 
Thiết lập tháng (0 – 11) 
 setFullYear(year) 
Thiết lập năm 
MỘT SỐ PHƢƠNG THỨC 
 setHours(hour) 
Thiết lập giờ (0 – 23) 
 setMinutes(minute) 
Thiết lập phút (0 – 59) 
 setSeconds(second) 
Thiết lập giây (0 – 59) 
ĐỐI TƢỢNG ARRAY 
 Lƣu trữ mảng dữ liệu 
 Khai báo 
 var myArray = new Array(); 
 Gán dữ liệu cho mảng 
myArray[0] = “value1”; 
myArray[1] = “value2”; 
myArray[2] = “value3”; 
 Gán giá trị lúc khởi tạo 
var myArray = new Array(“value1”, “value2”, “value3”); 
TRUY NHẬP ĐỐI TƢỢNG MẢNG 
 tên_mảng[chỉ_số] 
 Ví dụ: 
 document.write(myArray[0]) 
MỘT SỐ PHƢƠNG THỨC 
 concat(array1, array2,) 
 ghép các mảng với nhau 
 pop() 
 trả về và xóa đối tƣợng cuối cùng trong mảng 
 push() 
 thêm 1 hoặc nhiều đối tƣợng vào sau mảng, trả về độ 
dài mới 
ĐỐI TƢỢNG MATH 
 Thực hiện các hàm toán học 
 Không khai báo đối tƣợng mới 
 Sử dụng đối tƣợng toàn cục 
MỘT SỐ THUỘC TÍNH 
 Math.E 
 hằng số Euler 
 Math.PI 
 hằng số PI 
MỘT SỐ PHƢƠNG THỨC 
 Math.abs(x) 
 Math.cos(x) 
 Math.sin(x) 
 Math.log(x) 
 Math.exp(x) 
 Math.sqrt(x) 
 Math.round(x) 
 Math.pow(x, y) 
ĐỐI TƢỢNG WINDOWS 
 Là đối tƣợng ở mức cao nhất trong JavaScript 
 Biểu diễn cho một cửa sổ trình duyệt 
 Đƣợc tự động tạo khi có thẻ hoặc 
MỘT SỐ THUỘC TÍNH 
 closed 
 kiểm tra cửa sổ đƣợc đóng hay chƣa 
 document 
 đối tƣợng con Document 
 history 
 đối tƣợng con History 
 location 
 đối tƣợng con Location 
 status 
 dòng thông báo trên thanh trạng thái 
MỘT SỐ PHƢƠNG THỨC 
 alert(), comfirm(), prompt() 
 open(), close() 
 đóng mở cửa sổ 
 focus() 
 thiết lập focus cho cửa sổ 
 setTimeout(code, millisec) 
 thực hiện một đoạn mã sau một khoảng thời gian 
VÍ DỤ 
Windows Object 
function open_new() 
{ 
 mywin = window.open(''); 
 mywin.document.write('Day 
la cua so moi'); 
} 
function close_win() 
{ 
 mywin.close(); 
} 
Mo 
cua so moi 
<a 
onClick="close_win()">Dong 
cua so 
ĐỐI TƯỢNG SCREEN 
 Chứa thông tin về màn hình hiển thị 
 screen.width, screen.height – chiều rộng, chiều 
cao màn hình 
 screen.availWidth, screen.availHeight – chiều 
rộng và chiều cao màn hình (không bao gồm 
thanh taskbar) 
VÍ DỤ 
Screen Object 
 document.write("Kich thuoc man hinh: " + 
screen.width + "x" + screen.height); 
ĐỐI TƯỢNG HISTORY 
 Chứa thông tin về các địa chỉ đã được duyệt 
bởi trình duyệt 
 Thuộc tính history.length chỉ ra số các địa chỉ 
trong history 
 Phương thức 
 history.go() nạp lại một địa chỉ cụ thể 
 history.back() nạp lại địa chỉ trước địa chỉ hiện tại 
 history.forward() nạp lại địa chỉ sau địa chỉ hiện tại 
VÍ DỤ 
History 
Object 
<script 
language="JavaScript"> 
function myFunc() 
{ 
 var num = prompt("Di 
chuyen den trang:"); 
 history.go(num); 
} 
<script 
language="JavaScript"> 
document.write("History 
Length: " + history.length 
+ ""); 
Trang truoc 
<a 
onClick="history.forward()
"> Trang sau 
Di 
chuyen den trang xac 
dinh 
ĐỐI TƢỢNG DOCUMENT 
 Biểu diễn toàn bộ thành phần nội dung của trang 
HTML 
 Đƣợc sử dụng để truy nhập đến các thành phần 
THUỘC TÍNH 
 title 
 tiêu đề của trang web hiện tại 
 URL 
 địa chỉ của trang web hiện tại 
VÍ DỤ 
Document Object 
document.write("Tieu de cua trang web: " 
+ document.title + ""); 
document.write("Dia chi trang web: " + 
document.URL + ""); 
PHƢƠNG THỨC 
 getElementById() 
 trả về đối tƣợng thông qua ID của đối tƣợng đó 
 đƣợc sử dụng để truy nhập đến đối tƣợng 
 write() 
 ghi một chuỗi lệnh HTML ra cửa sổ trình duyệt 
 writeln() 
 giống lệnh write(), nhƣng chèn thêm ký tự xuống 
dòng 
CÁC ĐỐI TƢỢNG DOCUMENT 
CÁC ĐỐI TƢỢNG DOCUMENT 
 Truy nhập thông qua thuộc tính của các đối tƣợng 
 Thuộc tính innerHTML 
Nội dung văn bản mà đối tƣợng tác động 
VÍ DỤ 
Document Object 
function changeColor() 
{ 
 document.getElementById("myBody").bgColor 
= "red"; 
} 
Thay doi mau 
nen 
VÍ DỤ 
<meta http-equiv="Content-Type" 
content="text/html; charset=utf-8" /> 
Thuoc tinh innerHTML 
function change() 
{ 
 document.getElementById("heading").innerHTML = 
"Tiêu đề đã thay đổi"; 
} 
Đây là tiêu đề đoạn văn 
setTimeout("change()", 5000); 
BÀI TẬP 
            Các file đính kèm theo tài liệu này:
 javascript_4313.pdf javascript_4313.pdf