BỘ GIAO THÔNG VẬN TẢI TRƢỜNG ĐẠI HỌC HÀNG HẢI BỘ MÔN: KỸ THUẬT MÁY TÍNH KHOA: CÔNG NGHỆ THÔNG TIN
BÀI GIẢNG THIẾT KẾ VÀ LẬP TRÌNH WEB
TÊN HỌC PHẦN MÃ HỌC PHẦN TRÌNH ĐỘ ĐÀO TẠO DÙNG CHO SV NGÀNH
: THIẾT KẾ VÀ LẬP TRÌNH WEB : 17313 : ĐẠI HỌC CHÍNH QUY : CÔNG NGHỆ THÔNG TIN
HẢI PHÒNG - 2009
MỤC LỤC
Chƣơng 1: TỔNG QUAN .......................................................................................................... 5 1.1. Internet ............................................................................................................................ 5 1.1.1. Lịch sử mạng Internet .............................................................................................. 5 1.1.2. Một số khái niệm liên quan đến mạng Internet ....................................................... 5 1.1.3 World Wide Web ...................................................................................................... 6 1.1.4. Thƣ điệntử (E-mail) ................................................................................................. 9 1.2. Các kiểu mạng ................................................................................................................. 9 1.3. Kiến trúc Client – server ............................................................................................... 10 Chƣơng 2: NGÔN NGỮ SIÊU VĂN BẢN HTML ................................................................. 12 2.1. Khái niệm cơ bản về ngôn ngữ HTML ......................................................................... 12 2.2. Lập trình web với ngôn ngữ HTML .............................................................................. 12 2.2.1. Các thành phần cơ bản của html ............................................................................ 12 2.2.2. Cấu trúc tệp HTML ................................................................................................ 13 2.3. Các thẻ cơ bản trong HTML ......................................................................................... 13 2.3.1. Thẻ giải thích ......................................................................................................... 13 2.3.2. Các thẻ định dạng văn bản ..................................................................................... 13 2.3.3. Tạo liên kết (link) .................................................................................................. 16 2.3.4. Một số kí tự đặc biệt trong HTML......................................................................... 17 2.3.5. Các thẻ dùng thiết kế bảng ..................................................................................... 17 2.3.6. Các thẻ tạo Frame .................................................................................................. 18 2.3.7. Các thẻ dùng tạo Form ........................................................................................... 19 CHƢƠNG 3. NGÔN NGỮ KỊCH BẢN JAVASCRIPT ......................................................... 21 3.1. Mở đầu .......................................................................................................................... 21 3.2. Cú pháp cơ bản JavaScript ............................................................................................ 21 3.2.1. Kiểu dữ liệu............................................................................................................ 22 3.2.2. Hằng và biến .......................................................................................................... 23 3.2.3. Các toán tử ............................................................................................................. 23 3.2.4 Câu lệnh .................................................................................................................. 26 3.2.5 Câu lệnh điều kiện .................................................................................................. 26 3.2.6 Câu lệnh lặp ............................................................................................................ 28 3.3. Tƣơng tác giữa JavaScript và HTML ............................................................................ 30 3.3.1. Sử dụng thẻ - Lƣu : Khi một biến đƣợc sử dụng mà chƣa gán giá trị thì nó sẽ có kiểu undefined.
Một biến có thể đƣợc sử dụng để chứa giá trị với nhiều kiểu dữ liệu khác nhau.
3.2.3. Các toán tử
JavaScript cung cấp một số toán tử để thực hiện các chức năng toán học và các chức năng khác. Toán tử sử dụng một hay nhiều biến, hằng để tạo ra một giá trị mới, ta sử dụng các tóan tử để tạo ra các biểu thức phức tạp. Trong phần này ta sẽ giới thiệu sơ lƣợc những toán tử tƣơng tự nhƣ trong các ngôn ngữ lập trình Pascal, C và tập trung mô tả kỷ về các toán tử đặc trƣng của JavaScript.
Toán tử gán (=) dùng để gán một giá trị cho một biến. JavaScript có nhiều phƣơng pháp thực hiện toán tử gán :
X = 10; // giá trị 10 đƣợc gán cho biến X
- 23 -
total = mathematics + physics + chemistry // gán một biểu thức cho biến. a+ = 3 // dạng viết rút gọn, tƣơng tự nhƣ a = a+3; dạng rút gọn này có thể áp dụng cho các toán tử số học và các toán tử & (and) , ^ (xor), | (or)
follow;
Các Toán tử số học: +, -, *, /, %, ++, --, các toán tử một ngôi +, - Chú ý : ++x sẽ trả lại giá trị của x sau khi tăng x thêm 1 x++ sẽ trả lại giá trị của x trƣớc khi tăng x thêm 1 Ví dụ : Các toán tử so sánh : = =, !=, >, <, >=, <= Các toán tử logic : && (and), || (or) , ! (not) Toán tử string +, dùng để nối hai chuổi k tự. Ví dụ: "Da Nang"+" "+"City" trả về kết quả "Da Nang City" 41+" Le Duan" trả về kết quả "41 Le Duan" (chuyển kiểu dữ liệu trƣớc khi ghép chuổi) Lƣu : 2 - '1' = 1 (chuyển kiểu dữ liệu trƣớc khi thực hiện phép trừ) Toán tử Bit xử l các toán hạng nhƣ là một tập hợp 32 bit, kết quả trả về kiểu số chuẩn của JavaScript.
Ý nghĩa
Mỗi vị trí bit trả về 1 khi cả hai tóan hạng là 1 Mỗi vị trí bit trả về 1 khi một trong hai tóan hạng là 1 Đảo ngƣợc các bít của tóan hạng Mỗi vị trí bit trả về 1 khi chỉ có 1 trong hai tóan hạng là 1 Dịch sang trái Dịch sang phải Dịch sang phải và điền đầy các bit trống bằng 0
( 1010 | 1111 -> 1111)
Toán tử & | ~ ^ << >> >>> Các ví dụ : 10 & 15 trả về 10 ( 1010 & 1111 -> 1010) 10 | 15 trả về 15 10 ^ 15 trả về 5 (1010 ^ 1111 -> 0101) 15 << 3, có nghĩa dịch sang trái 3 bit của dãy 1111, kết quả là 1111000 (120) 15 >> 3, có nghĩa dịch sang phải 3 bit của dãy 1111, kết quả là 1 25>>>3, có nghĩa dịch sang phải 3 bit của dãy 11001 và điền 0 vào vị trí các bit trống, kết quả là
Một số toán tử đặc biệt: - Toán tử điều kiện có cú pháp: condition ? expr1 : expr2
- 24 -
condition là một biểu thức logic, nếu true thì toán tử trả về giá trị expr1, ngƣợc lại trả về giá trị expr2.
Ví dụ : status = (age>=18 ? "aldult" : "minor") - Toán tử , (comma) lƣợng giá cả hai toán hạng và trả về tóan hạng thứ hai. Ví dụ : x = (a++,c)*(b++,d) // tƣơng đƣơng với x = c*d - Toán tử typeof trả về một chuỗi k tự xác định kiểu dữ liệu của toán hạng, kiểu dữ liệu của toán hạng có thể là : số, chuổi, logic, đối tượng (object, array, null), function và undefined.
- Toán tử new đƣợc dùng để tạo ra một thể hiện (instance) của một kiểu đối tượng có hàm khởi dựng. Kiểu đối tƣợng này có thể là do ngƣời sử dụng định nghĩa, đối tƣợng dựng sẵn hay đối tƣợng mãng. Cú pháp :
: tên của thể hiện đối tƣợng : là một hàm xác định kiểu của đối tƣợng.
: là các giá trị của các thuộc tính của đối tƣợng.
objectName = new objectType (param1 [,param2] ... [,paramN]); Trong đó : objectName objectType parami - Toán tử this đƣợc dùng nhƣ một từ khóa tham chiếu đến một thuộc tính của đối tƣợng đƣợc gọi.
Ví dụ 1:
Ví dụ 2: - Toán tử delete đƣợc dùng để xóa đi một đối tƣợng, thuộc tính của đối tƣợng hoặc mộtphần tử của mãng. Cú pháp: delete objectName delete objectName.property delete objectName[index]
3.2.4 Câu lệnh
Các câu lệnh trong JavaScript cách nhau bằng dấu chấm phẩy (;), câu lệnh đƣợc chia ra hai loại: câu lệnh đơn giản và câu lệnh có cấu trúc.
// phép gán
// gọi hàm alert của đối tƣợng window
Câu lệnh đơn giản gồm có : phép gán, lời gọi hàm. Ví dụ: x = 7; count++; // thực hiện toán tử increment xInt = Math.round(y); // gọi hàm round của đối tƣợng Math và gán giá trị cho biến xInt window.alert("Kinh chao"); Câu lệnh có cấu trúc gồm có : khối lệnh và các câu lệnh điều khiển (control statements), lệnh with (dùng cho kiểu Object)
Khối lệnh đƣợc bao bởi cặp k hiệu { và }. Ví dụ: { x1 = (b + Math.sqrt(delta))/2*a; x1 = (b - Math.sqrt(delta))/2*a; window.document.write("Nghiệm là:" + x1 +"," + x2); } Các câu lệnh điều khiển : câu lệnh lựa chọn, câu lệnh lặp
3.2.5 Câu lệnh điều kiện
Trong JavaScript có hai câu lệnh điều kiện: câu lệnh if cho phép chƣơng trình chọn một trong hai lựa chọn và câu lệnh swich cho phép chƣơng trình chọn một trong nhiều lựa chọn.
Câu lệnh if Cú pháp : câu lệnh if đƣợc viết theo một trong bốn dạng sau:
if (biểu thức logic) câu lệnh ; if (biểu thức logic)
câu lệnh ;
khối lệnh
if (biểu thức logic) { khối lệnh } if (biểu thức logic) { }
Ví dụ : if isNaN(x){ window.alert(x+" khong phai la mot so");
- 26 -
}
( Hàm isNaN kiểm tra một giá trị và trả về true nếu đó là một số, ngƣợc lại trả về false nếu không phải là một số)
Mệnh đề else : dùng trong trƣờng hợp có hai sự lựa chọn tùy theo giá trị của biểu thức logic. Dạng câu lệnh này đƣợc gọi là câu lệnh if-else. Cú pháp:
if (biểu thức logic) { khối lệnh 1; } else {khối lệnh 2;} Cấu trúc else if: ta thƣờng gọi các câu lệnh if lồng nhau, dùng để chọn một lựa chọn trong nhiều lựa chon. Có bốn cách viết câu lệnh if lồng nhau, ta thƣờng sử dụng hai cách viết sau:
if (biểu thức logic 1) { khối lệnh 1; } else { if (biểu thức logic 2) {khối lệnh 21;} else {khối lệnh 22;} } if (biểu thức logic 1) { khối lệnh 1;} else if (biểu thức logic 2;) { khối lệnh 21; } else {khối lệnh 22; }
window.alert("Phuong trinh vo nghiem");
window.alert("Phuong trinh co vo so nghiem);
Ví dụ : Giải phƣơng trình bậc nhất một ẩn ax + b = 0
Đọan script trên có thể thay bằng đọan mã sau, đơn giản và trong sáng hơn: if (a!=0){ x=(-b/a); window.alert("Nghiem la "+x); } else if (b!=0) window.alert("Phuong trinh vo nghiem"); else window.alert("Phuong trinh co vo so nghiem);- 27 -
Câu lệnh switch Câu lệnh switch có vai trò giống nhƣ câu lệnh if-else, câu lệnh switch lƣợng giá của một biểu thức và so sánh giá trị này với một trong nhiều giá trị trong mệnh đề case để thực hiện lệnh và thóat khỏi câu lệnh switch với câu lệnh break. Cú pháp:
switch(biểu thức) { case gtrị1 : nhóm lệnh 1; break; . . . case gtrịN : nhóm lệnh N; break; default : nhóm lệnh N+1; } Từ khóa case là một nhãn, nó đánh dấu một điểm trong mã script để thực hiện một lệnh. Ví dụ : Nhập vào một mã số tỉnh / thành phố và in ra tên của tỉnh / thành phố đó.
3.2.6 Câu lệnh lặp
JavaScript có các câu lệnh lặp: câu lệnh while, câu lệnh do ...while,câu lệnh for và câu lệnh for ... in.
Để thoát ra khỏi một vòng lặp ta sử dụng lệnh break, để tiếp tục thực hiện vòng lặp dùng lệnh continue.
các lệnh; }
Câu lệnh while
Cú pháp : while( biểu thức logic) {
Ví dụ : Tính tổng các số nguyên nhập từ bàn phím, nhập 0 để kết thúc.
Câu lệnh do ... while
Cú pháp :do {
} while (biểu thức logic);
Ví dụ 1 : In ra màn hình các dòng tiêu đề từ 1 đến 6 (H1-H6)
var i =1;
do {
document.write("
Các thành phần của lệnh for là tùy chọn, lệnh sau đây thực hiện vòng lặp vô tận : for( ; ; ){ // không thực hiện gì }
Ví dụ: Tính tổng từ 1 đếm 100. Ta có thể thực hiện bằng các script nhƣ sau.
Câu lệnh for đầy đủ các khai báo:
var sum = 0;
for(i=1; i<=100; i++)
{document.write(i+"
"); sum+=i;}
alert(sum);
Câu lệnh for thiếu khai báo về thay đổi giá trị
var sum = 0;
for(i=1; i<=100;)
{document.write(i+"
"); sum+=i++;}
alert(sum);
Câu lệnh for với các khai báo có nhiều biểu thức, các biểu thức cách nhau dấu phẩy (,)
var sum = 0;
for(i=1, j=100; i<=50, j>50; i++, j--)
{document.write(i+"-"+j+"
"); sum+=i+j;}
alert(sum);
Câu lệnh for sử dụng với lệnh continue
Vd: In ra màn hình các số trong phạm vi từ 1 đến 100 chia hết cho 17
- 29 -
for(var i=1; i<=100; i++){
if (i % 17 !=0) continue;
document.write(i+"
");
}
Câu lệnh for .. in
Cú pháp : for (biến in đối tƣợng) { lệnh ; }
Đây là câu lệnh thƣờng đƣợc dùng để truy xuất các thuộc tính của một đối tƣợng mà chúng ta sẽ nghiên cứu ở chƣơng sau.
Ví dụ
var sinhVien={
Hoten: "Nguyen Van Long",
Lop: "03CTT01",
DiChi: "Da Nang"
};
// định nghĩa một đối tƣợng;
for(var i in sinhVien){
document.write(sinhVien[i]+"
");}
3.3. Tƣơng tác giữa JavaScript và HTML
JavaScript là một ngôn ngữ kịch bản họat động trên client-side và server-side, nhƣng hiện nay nó đƣợc sử dụng để xây dựng các ứng dụng cho client-side, muốm vậy phải nhúng các mã kịch bản vào trong tệp tin tƣ liệu HTML. Có hai phƣơng pháp : sử dụng thẻ . Khi trình duyệt xử l tệp tin HTML, gặp thẻ , thông dịch và thực hiện lệnh, nếu có lỗi sẽ thông báo trên cửa sổ alert.
Ví dụ :
- 30 -
Trong đó Nơi viết các biến toàn cục, các hàm dùng trong trang web Nơi gọi các hàm hay các đoạn mã JavaScript khác.
3.3.2. Sử dụng các tệp tin bên ngoài

