Bài giảng Thiết kế và lập trình Web cung cấp cho sinh viên các hiểu biết cơ bản về dịch vụ Web và giúp sinh viên nắm bắt được các kiến thức về xây dựng site. Nội dung chính của bài giảng được trình bày trong 5 chương và được chia thành 2 phần. Phần 1 giới thiệu về ngôn ngữ siêu văn bản HTML và ngôn ngữ kịch bản JavaScript. Mời các bạn tham khảo.
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 1.1 Internet 1.1.1 Lịch sử mạng Internet 1.1.2 Một số khái niệm liên quan đến mạng Internet 1.1.3 World Wide Web 1.1.4 Thƣ điệntử (E-mail) 1.2 Các kiểu mạng 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 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 html 12 2.2.2 Cấu trúc tệp HTML 13 2.3 Các thẻ HTML 13 2.3.1 Thẻ giải thích 13 2.3.2 Các thẻ định dạng văn 13 2.3.3 Tạo liên kết (link) 16 2.3.4 Một số kí tự đặc biệt 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 NGÔN NGỮ KỊCH BẢN JAVASCRIPT 21 3.1 Mở đầu 21 3.2 Cú pháp JavaScript 21 3.2.1 Kiểu liệu 22 3.2.2 Hằng 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 JavaScript HTML 30 3.3.1 Sử dụng thẻ 30 3.3.2 Sử dụng tệp tin bên 31 3.4 Các đối tƣợng trình duyệt 31 Chƣơng 4: NGÔN NGỮ KỊCH BẢN VBSCRIPT 38 4.1 Mở đầu 38 4.2 Cú pháp VBScrip 38 4.2.1 Khai báo hằng, biến, mảng 38 4.2.2 Chú thích 39 4.2.3 Các toán tử 39 4.2.4 Các cấu trúc điều khiển 39 -1- 4.2.5 Hàm Thủ tục 40 4.3 Tƣơng tác VBScript HTML 41 4.4 Các đối tƣợng trình duyệt 42 4.4.1 Đối tƣợng ERR 42 4.4.2 Đối tƣợng kịch DICTIONARY 43 4.4.3 Đối tƣợng FileSystemObject 43 Chƣơng 5: ACTIVE SERVER PAGE 46 5.1 Mơ hình lớp 46 5.2 Thiết lập WebServer 47 5.2.1 ASP (Active Server Page) 47 5.2.2 Trang ASP 47 5.2.3 IIS (Internet Information Server) 48 5.3 Xử l yêu cầu IIS 48 5.4 Mơ hình đối tƣợng 49 5.5 Các đối tƣợng ASP 50 5.5.1 Đối tƣợng Application 50 5.5.2 Đối tƣợng AspError 52 5.5.3 Đối tƣợng ObjectContext 52 5.5.4 Đối tƣợng Response 53 5.5.5 Đối tƣợng Request 55 5.5.6 Đối tƣợng Server 58 5.5.7 Đối tƣợng Session 60 -2- YÊU CẦU VÀ NỘI DUNG CHI TIẾT Tên học phần: Thiết kế lập trình Web Bộ mơn phụ trách giảng dạy: Kỹ thuật máy tính Mã học phần: 17313 TS tiết 60 L thuyết 45 Thực hành/Xemina 15 Tự học Loại học phần: Khoa phụ trách: CNTT Tổng số TC: Bài tập lớn x Đồ án môn học Điều kiện tiên quyết: Sinh viên phải học xong học phần sau đƣợc đăng k học phần này: Mạng máy tính, Truyền số liệu Mục tiêu học phần: - Cung cấp kiến thức dịch vụ Web - Xây dựng Website Nội dung chủ yếu - Mô hình mạng, ngơn ngữ lập trình - Xây dựng site Nội dung chi tiết học phần: TÊN CHƢƠNG MỤC Chƣơng I Tổng quan 1.1 Internet 1.2 Các kiểu mạng 1.3 Kiến trúc Web Chƣơng II Ngôn ngữ siêu văn HTML 2.1 Khái niệm ngôn ngữ HTML 2.2 Lập trình Web với ngơn ngữ HTML 2.3 Các thẻ HTML Chƣơng III Ngôn ngữ kịch JavaScript 3.1 Mở đầu 3.2 Cú pháp JavaScript 3.3 Tƣơng tác JavaScript HTML 3.4 Các đối tƣợng trình duyệt Chƣơng IV Ngơn ngữ kịch VBcript 4.1 Mở đầu 4.2 Cú pháp VBScript 4.3 Tƣơng tác VBScript HTML 4.4 Các đối tƣợng trình duyệt Chƣơng V Active Server Page 5.1 Mơ hình lớp 5.2 Thiết lập Web Server 5.3 Xử l yêu cầu IIS 5.4 Mơ hình đối tƣợng 5.5 Các đối tƣợng ASP PHÂN PHỐI SỐ TIẾT TS LT BT TH 1 1 10 0,5 2 1,5 24 15 0,5 2 1,5 17 10 2 2 KT 1 Nhiệm vụ sinh viên : Tham dự buổi thuyết trình giáo viên, tự học, tự làm tập giáo viên giao, tham dự buổi thực hành, kiểm tra định kỳ cuối kỳ, hoàn thành tập lớn theo yêu cầu -3- Tài liệu học tập : - Andy Budd, Cameron Moll Simon Collison - CSS Mastery Advanced Web Standards Solutions – Nhà xuất Apress 2006 - Paul Wilton - Beginning JavaScript Second Edition – Nhà xuất Wrox, 2004 John Gosney, ASP Programming for the absolute beginner – Nhà xuất No Starch Press, 2002 - Scott Mitchell James Atkinson, Teach yourself Active Server Pages 3.0 – Nhà xuất SAMS,2000 - Jason Butler , ASP Data Access for Beginners – www.w3schools.com - Nguyễn Thị Thanh Trúc – Thiết kế lập trình Web với ASP – Đại học Quốc gia thành phố Hồ Chí Minh, 2003 Hình thức tiêu chuẩn đánh giá sinh viên: - Đánh giá dựa tình hình tham dự buổi học lớp, buổi thực hành, điểm kiểm tra thƣờng xuyên điểm kết thúc học phần - Hình thức thi cuối kỳ : thi viết Thang điểm: Thang điểm chữ A, B, C, D, F Điểm đánh giá học phần Z = 0.4X + 0.6Y Bài giảng tài liệu thức thống Bộ mơn Kỹ thuật máy tính, Khoa Cơng nghệ Thơng tin đƣợc dùng để giảng dạy cho sinh viên Ngày phê duyệt: 15 / / 2010 Trƣởng Bộ môn: ThS Ngô Quốc Vinh -4- Chƣơng 1: TỔNG QUAN 1.1 Internet 1.1.1 Lịch sử mạng Internet Mạng Internet mạng máy tính lớn tồn cầu Internet hay gọi tắt NET đƣợc xem mạng mạng (network of networks) dùng để trao đổi thông tin tồn giới, cịn gọi Siêu xa lộ thông tin (Information Superhighway) Ngày mạng Internet mạng cơng cộng kết nối hàng trăm triệu máy tính toàn giới Về mặt vật l , mạng Internet sử dụng phần toàn tài nguyên mạng viễn thông công cộng; mặt kỹ thuật, mạng Internet sử dụng tập giao thức TCP/IP Vinton Gray Cerf Robert Kahn xây dựng từ năm 1973 Trƣờng Đại học Stanford Hai mô công nghệ mạng Internet Intranet Extranet Từ năm 1969, Bộ Quốc phòng Mỹ xây dựng mạng ARPANET, (ARPA từ viết tắt Advanced Research Projects Agency), tƣởng ban đầu mạng Arpanet dùng để trao đổi thơng tin quan phủ trung tâm nghiên cứu trƣờng đại học Mỹ Điều đặc biệt mạng mạng hoạt động phần bị phá hủy trƣờng hợp chiến tranh thiên tai Sau mạng ARPANET chia làm hai mạng: MILINET dùng cho mục đích quân Một mạng gọi ARPANET dùng cho mục đích phi quân Đến năm 1972, mạng khác CSNET (Computer Science Research Network) đƣợc nối với ARPANET CSNET đƣợc tạo để liên kết mạng độc lập khác Tại thời điểm đƣợc xem ngày khai sinh mạng INTERNET Vào năm 1980, tổ chức National Science Foundation xây dựng mạng NSFNET để liên kết đến mạng chính, mạng có tốc độ cao, dùng để kết nối siêu máy tính trung tâm NSF Công nghệ mạng ngày phát triển, nhiều mạng đƣợc hình thành kết nối với mạng ARPANET, CSNET NSFNET Tất mạng kết nối với trở thành mạng có tên gọi INTERNET Cuối hai mạng Arpanet Csnet ngƣng họat động, mạng Nsfnet trở thành mạng nối kết mạng khác Internet 1.1.2 Một số khái niệm liên quan đến mạng Internet Địa IP Các máy tính mạng Internet/ Intranet trao đổi thơng tin với theo chuẩn truyền thông gọi giao thức TCP/IP Đây giao thức cung cấp dịch vụ truyền gói -5- liệu (IP datagrams) theo địa IP cách chọn đƣờng (routing) mạng thông qua cổng kết nối (gateway) Để việc trao đổi thông tin mạng Internet thực đƣợc, máy tính mạng cần phải đƣợc cấp định danh (Identify) để phân biệt máy với nhau, máy đƣợc gán cho nhóm số gọi địa IP (IP Address) hay nói cách khác địa IP dùng xác định đối tƣợng nhận gửi thông tin Internet Địa IP gồm nhóm số thập phân có giá trị từ đến 255, phân dấu chấm (.) Trên thực tế, địa IP (IP version 4) có 32 bit chia thành octet (mỗi octet có bit), octet tách biệt dấu chấm (.) Ví dụ : 11001011 01100010 01010011.00110101 Để tiện việc quản l phân phối địa chỉ, ngƣời ta chia địa IP thành phần : 31 Thứ tự bit Class ID Network ID Host ID Các địa IP đƣợc chia thành lớp tùy theo giá trị byte đầu tiên: A,B,C,D,E Riêng lớp D E, Tổ chức Internet để dành cho mục đích khác, khơng phân phối Địa IP tự khơng chứa thơng tin mô tả mạng, subnet kèm với địa cung cấp thông tin Class Vùng địa l thuyết Số mạng sử Số máy chủ Subnet dụng tối đa mạng A 0.0.0.0 đến 127.0.0.0 126 16.777.214 255.0.0.0 B 128.0.0.0 đến 191.255.0.0 16.382 65.534 255.255.0.0 C 192.0.0.0 đến 223.255.255.0 2.097.150 254 255.255.255.0 Địa IP Internet ICANN chịu trách nhiệm phân bổ Địa IP thƣờng đƣợc ISP (Internet Service Provider) quản l Trung tâm mạng Internet vùng Châu Á - Thái bình dƣơng (APNIC) phân phối cho VDC địa lớp C, phân phối cho mạng từ 203.162.0.0 đến 203.162.7.0 Ở Việt Nam, quan VNNIC (Vietnam Internet Network Inforrmation Center) thuộc Bộ Bƣu – Truyền thông chịu trách nhiệm quản l tên miền, địa IP (xem http://www.vnnic.net.vn) Do cạn kiệt địa IP theo IPv4 (sử dụng 32 bit); nhiều nƣớc dùng IPv6 (sử dụng 128 bit) để cấp phát địa IP Tên miền (Domain name) Do địa IP dãy số, khơng có tính gợi nhớ, mạng Internet ngƣời ta thƣờng sử dụng dịch vụ tên miền (Domain Name Service) cho máy mạng Mỗi tên miền có dạng : Host.Subdomain.Domain Trong : Host tên máy, Domain tên tổ chức mạng lớn, nhƣ Cty đa quốc gia, quốc gia, Subdomain tên tổ chức nhỏ domain Tên miền cấp bao gồm mã quốc gia nƣớc tham gia Internet đƣợc quy định chữ theo tiêu chuẩn ISO-3166, ví dụ Việt Nam vn, Nhật jp, Pháp fr, Anh quốc uk, CHLB Nga ru lĩnh vực dùng chung tồn cầu: com : (commercial) cơng ty thƣơng mại edu : (education) trƣờng học, tổ chức giáo dục net : (network) mạng int : (international organizations) tổ chức quốc tế org : (other organizations) tổ chức khác 1.1.3 World Wide Web Lịch sử -6- World Wide Web (gọi tắt Web): Là hệ thống server internet hỗ trợ riêng cho tƣ liệu đƣợc định dạng ngôn ngữ đánh dấu gọi HTML (HyperText Markup Language) mà ngƣời truy cập đƣợc thơng qua máy tính nối mạng internet Những tƣ liệu cho phép liên kết đến tƣ liệu khác nhƣ tệp tin đồ họa, âm thanh, video Chú tất server Internet World Wide Web, Web không đồng nghĩa với Internet, Web tập Internet, ứng dụng quan trọng Internet Có nhiều định nghĩa khác web, Bách khoa toàn thư Việt Nam (http://dictionary.bachkhoatoanthu.gov.vn) định nghĩa web “dịch vụ thông tin mạng Internet thâm nhập đƣợc thông qua hệ siêu văn bản, cho phép kết nối tƣ liệu khác lƣu trữ địa điểm khác tồn cầu”, cịn wikipedia định nghĩa web “một mạng tồn cầu, khơng gian thơng tin tồn cầu mà ngƣời truy cập (đọc/viết) qua máy tính nối mạng internet” Web đời từ dự án nghiên cứu Trung tâm nghiên cứu hạt nhân Châu Âu (CERN, Thụy Sĩ) vào năm 1989 Berners-Lee lãnh đạo Dự án phát triển giao thức truyền nhận tệp tin siêu văn theo mơ hình client-server gọi tắt HTTP (HyperText Transfer Protocol), sau cơng bố thƣ viện chƣơng trình nguồn giao thức cho nhà phát triển khác để xây dựng phần mềm duyệt Web Web dựa ba chế phép ngƣời sử dụng truy cập đến nguồn tài nguyên web, giao thức, URL HTML: Giao thức (Protocols) HTTP Địa (Address) gọi URL (Uniform Resourse Locators), đƣợc sử dụng để định danh (identify) trang web nguồn tài nguyên web Một URL gồm scheme (chỉ đến giao thức đƣợc sử dụng), tên máy chủ, đường dẫn tên tệp tin nhƣ sau: Scheme Tên Web server Đƣờng dẫn Tên tệp tin Trong trƣờng hợp URL kết thúc với dấu gạch xéo tới (slash, /) mà khơng có tên tệp tin nằm sau, đến tệp tin mặc định thƣ mục cuối (trong ví dụ web) Một số tệp tin mặc định index.htm hay default.htm URL tuyệt đối : bao gồm toàn đƣờng dẫn đến tệp tin, URL tuyệt đối thƣờng đùng để liên kết đến tài nguyên web site URL tương đối : mô tả ngắn gọn địa tệp tin kết nối web site chứa tệp tin hành (tệp chứa liên kết) Các scheme khác nhƣ: ftp để truyền tệp tin mạng, gopher dùng để tìm thơng tin, news để gửi nhận tin nhóm, mailto để gửi email, file để dẫn đến tệp tin đĩa cứng cục Ví dụ: ftp://ftp.netnam.com/pub/prog.exe news:sos.culture.catalan mailto:education@dng.vnn.vn file:///d:/thuchanh/web/chuong1.htm Các khái niệm liên quan: Web page : trang web, world wide web thông tin đƣợc hiển thị dƣới dạng trang web, web page chứa văn đƣợc định dạng, hình ảnh, âm thanh, video v.v Một trang web cịn chứa siêu liên kết (hyperlink), siêu liên kết cho phép ngƣời sử dụng truy cập đến trang web khác hay tài nguyên khác website hay website khác -7- HTML document: tệp tin văn mã ASCII đƣợc viết ngôn ngữ HTML, tệp tin tƣ liệu HTML đƣợc gọi mã nguồn (source code) trang web Tệp tin tƣ liệu HTML có phần mở rộng htm hay html Website : Một vị trí world wide web, đƣợc đặc trƣng tên miền, wesite có trang chủ (home page) trang web mà ngƣời sử dụng gặp truy cập vào website, trang chủ đóng vai trị nhƣ mục lục đến tƣ liệu khác website hay địa website liên quan Một website chứa thƣ mục, tệp tin, trang web khác Website tổ chức hay cá nhân mạng bao gồm tập hợp trang web liên quan đến tổ chức Web browser (cịn gọi web client): Trình duyệt web, phần mềm ứng dụng dùng để định vị hiển thị trang web.Có loại web browser: trình duyệt dựa văn bản, hiển thị thơng tin dƣới dạng văn nhƣ Lynx; trình duyệt đồ họa, hỗ trợ hypermedia nhƣ âm thanh, hình ảnh, video web browser đồ họa thông dụng nay: Microsoft Internet Explorer, Netscape Navigator, Mozilla Firefox, Opera Web editor: trình soạn thảo web, phần mềm soạn thảo trang web Các phần mềm FrontPage, Dreamwever phần mềm soạn thảo trang web cách trực quan.Các phần mềm Edit Plus, HTML Kit cho phép trực tiếp tạo tệp tƣ liệu HTML Search Engines :Máy tìm kiếm , chƣơng trình tìm kiếm tƣ liệu world wide web dựa từ khóa trả danh sách tƣ liệu phù hợp với từ khóa Các máy tìm kiếm họat động dựa vào Spider (con nhện) để thu thập tƣ liệu cần thiết, số máy tìm kiếm khác sử dụng Indexer (bộ lập mục) dựa từ chứa tƣ liệu Web portal: ứng dụng web quan trọng nay, ứng dụng lĩnh vực phủ điện tử Web portal cịn đƣợc gọi cổng thông tin (portal) bao gồm mãng nguồn tài nguyên dịch vụ nhƣ e-mail, forums, máy tìm kiếm dịch vụ trực tuyến (online service) khác Web portal giới AOL; Việt Nam web portal là: www.hanoi.gov.vn (cổng thông tin UBND thành phố Hà Nội), www.egov.gov.vn (cổng thông tin Chính phủ Việt Nam) Những ứng dụng web (web-base applications) chƣơng trình ứng dụng dựa sở Internet giao thức HTTP nhƣ: E-commerce, E-learning, E-Supermarket, On-line courses mà ta gọi chung E* Webblog (còn gọi blog) ứng dụng dựa tảng web, gọi trang web cá nhân dùng để tạo nhật k trực tuyến, trao đổi thông tin Tiền thân blog forum (diễn đàn trực tuyến) Ngày có nhiều hãng phần mềm xây dựng server phục vụ xây dựng webblog RSS từ viết tắt Really Simple Syndication (dịch vụ cung cấp thông tin đơn giản), dịch vụ cho phép ngƣời sử dụng tìm kiếm thơng tin cần quan tâm đăng k để đƣợc gửi thông tin đến trực tiếp Ngày khối lƣợng web site ngày nhiều, việc duyệt web để tìm kiếm thơng tin cần thiết thời gian, ta sử dụng tiện ích thông qua dịch vụ cung cấp thông tin gọi RSS Hiện nay, dịch vụ RSS ngày phổ biến Các trang web nhƣ BBC, CNN, New York Times, Tuổi trẻ, Thanh niên, Người lao động cung cấp RSS Để sử dụng dịch vụ ta cần phải có phần mềm đọc hiển thị tệp tin RSS (viết ngôn ngữ XML), phần mềm gọi RSS Feed New Feed Hiện có số trình duyệt tích hợp sẵn tính đọc tin RSS nhƣ Firefox, Opera, Safari Nếu dùng Microsoft Internet Explorer cần cài đặt plug-in hỗ trợ đọc RSS nhƣ Pluck (tải từ http://www.pluck.com) Web server địa web server : trang web mà ngƣời sử dụng truy cập đƣợc Internet đƣợc lƣu trữ máy tính đặc biệt đƣợc gọi web server Mỗi web server đƣợc định danh địa có dạng: www.tenwebsite.kiểuwebsite.mãquốcgia -8- Riêng web server đặt Mỹ mã quốc qua Một địa website đƣợc xem nhƣ URL Internet Web khác nhƣ nào? Internet mạng mạng Về đƣợc tạo thành từ máy tính đƣờng dây cáp Những mà Vint Cerf Bob Kahn làm hình dung hệ thống nhằm gửi gói nhỏ thơng tin Nhƣ Vint ra, gói thơng tin giống nhƣ thiệp với địa ghi Nếu bạn ghi địa “gói tin này” trao cho máy tính kết nối Internet, máy tính xác định xem sử dụng đƣờng cáp gửi lên mạng để chuyển tới điểm đích Hiện có nhiều chƣơng trình sử dụng Internet, ví dụ: thƣ điện tử có mặt từ lâu trƣớc hệ thống siêu văn đƣợc phát minh sử dụng toàn cầu với tên gọi World Wide Web Ngày có nhiều dịch vụ để mã hóa thơng tin theo cách khác sử dụng ngôn ngữ khác máy tính (giao thức) để cung cấp dịch vụ, ví dụ nhƣ: hội thảo video trực tuyến, kênh truyền mạng số loại hình dịch vụ khác nhƣ thân mạng tồn cầu Mạng tồn cầu (web) khơng gian ảo chứa thông tin Trên mạng, bạn làm việc với máy tính; cịn web, bạn tìm đƣợc tài liệu, âm thanh, hình ảnh video… Trên net, kết nối sợi cáp nối máy tính với nhau; web, kết nối đƣờng liên kết siêu văn Internet tồn đƣợc nhờ chƣơng trình liên lạc máy tính net Mạng tồn cầu khơng thể tồn khơng có mạng sở, nhƣng mạng toàn cầu làm cho mạng sở trở nên hữu ích hơn, điều ngƣời thật quan tâm thông tin khơng phải máy tính cáp truyền liệu 1.1.4 Thư điệntử (E-mail) E-mail dịch vụ trao đổi thông điệp điện tử mạng viễn thông Các thơng điệp thƣờng đƣợc mã hóa dƣới dạng văn ASCII, nhiên ta gửi tệp tin hình ảnh, âm thanh, chƣơng trình kèm theo e-mail Giao thức thƣờng dùng để nhận gửi e-mail SMTP (Simple Mail Transfer Protocol) POP3 (Post Office Protocol version 3) Để sử dụng dịch vụ e-mail cần phải có: Đia email, có dạng name@domainname, ví dụ education@dng.vnn.vn Địa email đƣợc quản l mail server: nhƣ Yahoo, HotMail, Gmail, Tên đăng nhập (Login name) mật (password) truy cập hộp thƣ (mail box) 1.2 Các kiểu mạng Mạng máy tính Là tập hợp máy tính thiết bị đƣợc nối với đƣờng truyền vật l theo kiến trúc Chúng ta phân loại mạng theo qui mơ nó: Mạng LAN (Local Area Network)-mạng cục bộ: kết nối nút phạm vi giới hạn Phạm vi cơng ty, hay tịa nhà Mạng WAN (Wide Area Network): nhiều mạng LAN kết nối với tạo thành mạng WAN MAN (Metropolitan Area Network), tƣơng tự nhƣ WAN, kết nối nhiều mạng LAN Tuy nhiên, mạng MAN có phạm vi thành phố hay đô thị nhỏ MAN sử dụng mạng tốc độ cao để kết nối mạng LAN trƣờng học, phủ, cơng ty, , cách sử dụng liên kết nhanh tới điểm nhƣ cáp quang Khi nói đến mạng máy tính, ngƣời ta thƣờng đề cập tới mạng xƣơng sống (backbone) Backbone mạng tốc độ cao kết nối mạng có tốc độ thấp Một cơng ty sử dụng mạng backbone để kết nối mạng LAN có tốc độ thấp Mạng backbone -9- 3.2.2 Hằng biến Hằng Hằng đƣợc giới thiệu từ JavaScript 1.5, đƣợc chấp nhận từ NN 6.0 FF 1.0 cịn IE khơng chấp nhận, sử dụng script phải cẩn thận Khai báo : const sopi = 3.1416; const tencoquan="DaNang Education College"; const ok = true; Biến Là vùng nhớ lƣu trữ liệu đƣợc truy xuất qua tên gọi, giá trị biến bị thay đổi kịch đƣợc thi hành - Khai báo biến cách dùng từ khóa var cách gán giá trị cho biến, khác với việc khai báo biến cách chặt chẻ nhƣ Pascal, JavaScript yêu cầu khai báo biến trƣớc sử dụng Ví dụ: var new_amount; var answer = null; result = 'Unknown result'; result = 10; - Phạm vi biến phụ thuộc vào vị trí khai báo biến script Nếu biến đƣợc khai báo ngồi hàm (function), đƣợc xem biến tồn cục đƣợc sử dụng nơi script, ngƣợc lại biến đƣợc khai báo hàm, đƣợc xem biến cục đƣợc sử dụng hàm mà thơi Ví dụ : var sum = 0; // biến toàn cục function tinhTong(){ var a = prompt("Nhap a:"); // biến cục var b = prompt("Nhap b:"); // biến cục sum = a+b; alert("Ket qua la:"&sum); } - Lƣu : Khi biến đƣợc sử dụng mà chƣa gán giá trị có kiểu undefined Một biến đƣợc sử dụng để chứa giá trị với nhiều kiểu liệu khác 3.2.3 Các toán tử JavaScript cung cấp số toán tử để thực chức toán học chức khác Toán tử sử dụng hay nhiều biến, để tạo giá trị mới, ta sử dụng tóan tử để tạo biểu thức phức tạp Trong phần ta giới thiệu sơ lƣợc toán tử tƣơng tự nhƣ ngơn ngữ lập trình Pascal, C tập trung mơ tả kỷ tốn tử đặc trƣng JavaScript Toán tử gán (=) dùng để gán giá trị cho biến JavaScript có nhiều phƣơng pháp thực toán tử gán : X = 10; // giá trị 10 đƣợc gán cho biến X - 23 - total = mathematics + physics + chemistry // gán biểu thức cho biến a+ = // dạng viết rút gọn, tƣơng tự nhƣ a = a+3; dạng rút gọn áp dụng cho toán tử số học toán tử & (and) , ^ (xor), | (or) Các Toán tử số học: +, -, *, /, %, ++, , tốn tử ngơi +, Chú ý : ++x trả lại giá trị x sau tăng x thêm x++ trả lại giá trị x trƣớc tăng x thêm Ví dụ : var x=1; prior = x++; follow = x; st= "Gia tri ban dau cua x =1 \n"+"x++ ="+prior+"\n"+"Sau tang x, x="+ follow; alert(thongbao); Các toán tử so sánh : = =, !=, >, =, Dịch sang phải >>> Dịch sang phải điền đầy bit trống Các ví dụ : 10 & 15 trả 10 ( 1010 & 1111 -> 1010) 10 | 15 trả 15 ( 1010 | 1111 -> 1111) 10 ^ 15 trả (1010 ^ 1111 -> 0101) 15 > 3, có nghĩa dịch sang phải bit dãy 1111, kết 25>>>3, có nghĩa dịch sang phải bit dãy 11001 điền vào vị trí bit trống, kết 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 biểu thức logic, true tốn tử trả giá trị expr1, ngƣợc lại trả giá trị expr2 Ví dụ : status = (age>=18 ? "aldult" : "minor") - Toán tử , (comma) lƣợng giá hai toán hạng trả 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ả chuỗi k tự xác định kiểu liệu toán hạng, kiểu liệu toán hạng : số, chuổi, logic, đối tượng (object, array, null), function undefined - Toán tử new đƣợc dùng để tạo thể (instance) kiểu đối tượng có hàm khởi dựng Kiểu đối tƣợng ngƣời sử dụng định nghĩa, đối tƣợng dựng sẵn hay đối tƣợng mãng Cú pháp : objectName = new objectType (param1 [,param2] [,paramN]); Trong : objectName : tên thể đối tƣợng objectType : hàm xác định kiểu đối tƣợng parami : giá trị thuộc tính đối tƣợng - Tốn tử this đƣợc dùng nhƣ từ khóa tham chiếu đến thuộc tính đối tƣợng đƣợc gọi Ví dụ 1: // đối tƣợng ngƣời sử dụng định nghĩa function nhanVien(hoten, maso, chucdanh){ this.hoten = hoten; this.maso = maso; this.chucdanh = chucdanh; } var nhanVienMoi = new nhanvien("Le Van", "001","Quan ly") document.write("Ho va ten :" + nhanVienMoi.hoten+""); document.write("Ma so :" + nhanVienMoi.maso+""); document.write("Chuc danh :" + nhanVienMoi.chucdanh); Ví dụ 2: // Date() đối tƣợng dựng sẵn JavaScript var homNay = new Date(); var = homNay.getDate(); var thang = homNay.getMonth(); var nam = homNay.getYear(); // getDate(), getMonth, getYear() phƣơng thức Date() - 25 - document.write("Hom nay,ngay :" + ngay+"/"+thang+"/"+nam); - Toán tử delete đƣợc dùng để xóa đối tƣợng, thuộc tính đối tƣợng phần tử 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 JavaScript cách dấu chấm phẩy (;), câu lệnh đƣợc chia hai loại: câu lệnh đơn giản câu lệnh có cấu trúc Câu lệnh đơn giản gồm có : phép gán, lời gọi hàm Ví dụ: x = 7; // phép gán count++; // thực toán tử increment xInt = Math.round(y); // gọi hàm round đối tƣợng Math gán giá trị cho biến xInt window.alert("Kinh chao"); // gọi hàm alert đối tƣợng window Câu lệnh có cấu trúc gồm có : khối lệnh 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 cặp k hiệu { } 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 hai lựa chọn câu lệnh swich cho phép chƣơng trình chọn nhiều lựa chọn Câu lệnh if Cú pháp : câu lệnh if đƣợc viết theo 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 ; if (biểu thức logic) { khối lệnh } if (biểu thức logic) { khối lệnh } Ví dụ : if isNaN(x){ window.alert(x+" khong phai la mot so"); - 26 - } ( Hàm isNaN kiểm tra giá trị trả true số, ngƣợc lại trả false số) Mệnh đề else : dùng trƣờng hợp có hai lựa chọn tùy theo giá trị biểu thức logic Dạng câu lệnh đƣợc gọi 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âu lệnh if lồng nhau, dùng để chọn lựa chọn 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; } if (biểu thức logic 1) { khối lệnh 1;} else { else if (biểu thức logic 2;) { if (biểu thức logic 2) {khối lệnh 21;} khối lệnh 21; } else {khối lệnh 22;} else {khối lệnh 22; } } Ví dụ : Giải phƣơng trình bậc ẩn ax + b = var x; var a = window.prompt("Nhap a:"); var b = window.prompt("Nhap b:"); 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); } } Đọan script thay đọan mã sau, đơn giản 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á biểu thức so sánh giá trị với nhiều giá trị mệnh đề case để thực lệnh 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 nhãn, đánh dấu điểm mã script để thực lệnh Ví dụ : Nhập vào mã số tỉnh / thành phố in tên tỉnh / thành phố var bc = window.prompt("Nhap ma tinh/thanh pho: "); // Lƣu : hàm prompt trả giá trị kiểu chuổi switch (bc){ case "04": alert("Ha Noi"); break; case "08": alert("Tp Ho Chi Minh"); break; case "0511": alert("Da Nanng"); break; default: alert("Chua xac dinh duoc"); } 3.2.6 Câu lệnh lặp JavaScript có câu lệnh lặp: câu lệnh while, câu lệnh while,câu lệnh for câu lệnh for in Để thoát khỏi vòng lặp ta sử dụng lệnh break, để tiếp tục thực vòng lặp dùng lệnh continue Câu lệnh while Cú pháp : while( biểu thức logic) { lệnh; } Ví dụ : Tính tổng số nguyên nhập từ bàn phím, nhập để kết thúc var sum = 0; - 28 - while (true){ i= parseInt(prompt("Nhap mot so nguyen, nhap de ket thuc",0)); if (i==0) break; sum+=i; } alert("Ket qua: "+sum); Câu lệnh while Cú pháp :do { lệnh; } while (biểu thức logic); Ví dụ : In hình dịng tiêu đề từ đến (H1-H6) var i =1; { document.write(""+"Tieu de thu "+i+""); i++; }while (i // lệnh, lời gọi hàm JavaScript - 30 - Trong Nơi viết biến toàn cục, hàm dùng trang web Nơi gọi hàm hay đoạn mã JavaScript khác 3.3.2 Sử dụng tệp tin bên Thẻ có thuộc tính: - language có giá trị ngơn ngữ kịch phiên nó, :"JavaScript 1.5", "JScript 5.6", "ECMAscript 262", "VBscript" - type = "text/js" báo cho trình duyệt biết tệp tin bên ngồi có phần mở rộng js hay txt đƣợc, thuộc tính tùy chọn - SCR xác định URL dẫn đến tệp tin JavaScript đặt bên tệp HTML Khi muốn sử dụng biểu thức JavaScript để làm giá trị thuộc tính cho thẻ HTML ta dùng cú pháp: thuộc tính ="&{biểu thức};" Ví dụ : var d=70;