JavaScript
P hụ lục này liệt kê các câu lệnh và đối tượng hệ th ố n g cĩ sẵn dể sử dụng tro n g JavaS cript. Bảng B .l trìn h bày t ấ t câ câu lệnh cĩ săn để sử dụng trong Jav aS crip t 1.5. K hơng cĩ câu lệnh
nào được th êm vào danh sách cho Jav a S c rip t 2.0. Các b ản g B.2 và B.3 lần lươt liêt kê các đối tượng hệ thống cho Jav aS crip t 1.5 và 2.0.
Bdny b.1 Các câu lệnh cĩ săn trong JavaScript 1.Ị vả 2 .ũ
Câu lệnh // ỵ* *ỵ break continue do-while for Mơ tả
Tạo một dịng đơn các comment Tạo một khối comment
Nhảy ra khỏi một vịng lặp hoặc câu lệnh switch
Bắt đầu một vịng lặp từ đầu tại lần lặp lại kế tiếp
Tạo một vịng lặp thực thi một hoặc nhiều câu lệnh miễn là điều kiện xác định là true, nhưng luơn luơn thực thi nĩ tối thiểu một lần
Tạo một vịng lặp thực thi một hoặc nhiều câu lệnh cho đến khi một bộ đếm (counter) đạt đến một giá trị được xác lập
Phụ lục B : Tham khảo nhanh JavaScript 337 for-in if-eise label return switch throw try-catch while with Bảng
Tạo một vịng lập lặp lại lèn trên các thuọc tính của một đối tượng hoặc nội dung của một mảng íarray)
Chì thực thi mã nếu điều kiện xác định là true
Cho phép các câu lệnh break hoặc continue nhảy ra khỏi các vịng lặp xếp lồng (nested loop)
Làm cho một hàm thốt, tuỳ ý trả về một giá trị
Chọn thực thi chỉ một trong số trường hợp dựa vào giá trị của biểu thức xác định
Làm cho một ngoại lệ được đưa ra Chặn một ngoại lệ và xử lý nĩ
Tạo một vịng lặp thực thi một hoặc nhiều câu lệnh miễn là điều kiện xác định là true Cho phép truy cập các thuộc tính và phương thức của một đối tượng mà khơng cản phải sử iụag đíi tượng iĩ
B .2 Các đơi tượng hệ thơng cài sẩn cĩ sẵn trong JavaScript 1.5
C âu lệ n h Mơ tả
A/ray Cho phép các danh sách dữ liệu được lưu trữ
trong một biến
Boolean Một wrapper cho các giá trị Boolean
Date C ho bạn làn) V)ệc với các ngáy tháng và thời
gian
Function Cho phép bạn lỉịuh nghĩa một hàm bằng lặp
trình
Math Chứa các hằng và hàm tốn học tiện lợi
Number Một wrapper cho các giá trị số nguyên thuỷ
Object Tất cà dốị tượng dẫii xuất tù kiểu dữ liệu
này
RegExp Cung cấp sự hỗ trợ cho các biểu thức thơng
thường trong JavaScript
String Một wrapper cho các giá trị chuỗi
Bảng B .3 Các đơi tượng hệ thơng cài sẵn cĩ sẩn trong JavaScript 2.0
Mơ tả T ên class
Array Cho phép các danh sách dữ liệu của kiểu
Object được lưu trữ trong một biến; tương đương kiểu dữ liệu Array[Object]
338 Phụ lục B : Tham khảo nhanh JavaScript Array[type] Boolean char ConstArray ConstArray[type] DynamicArrayttype] Function Integer Never Null Number Object Prototvpe StaticArray[type] String Type Void
Cho phép các danh sách dữ liệu của kiểu type được lưu trữ trong một biến đơn giản trong một biến đơn
Hỗ trợ các biến vốn cĩ thể lưu trữ chỉ các giá trị true và false
Hỗ trợ các biến vốn cĩ thể lưu trữ chỉ một ký tự đơn
Cho phép các danh sách dữ liệu của kiểu Object được lưu trữ trong một hằng đơn; tương đương kiểu dữ liệu ConstArray[Object] Cho phép các danh sách dữ liệu của kiểu type đuỢc lưu trứ trong mội hằng đơn
Cho phép các danh sách dữ liệu của kiểu type cĩ thể định lại kích cỡ được lưu trữ trong một biến đơn
"Kiểu dữ liệu” của các hàm
Hỗ trợ các biến vốh cĩ thể chỉ lưu trữ các sơ' nguyên
Hỗ trợ các biến vốn cĩ thể khơng chứa bất kỳ giá trị
Hỗ trợ các biến vốn cĩ thể chỉ lưu trữ giá trị rỗng (null)
Hỗ trợ các biến vốn cị thể chỉ lưu trữ các số
HỖ trợ các biến vốn cĩ thê’ chứa bất kỳ giá trị
Fỗ trr» c4c biến vốn cổ thể chứ? cAc đế’ tượng dựa vào nguyên mẫu (cách JavaScript 1.5 xử lý các đối tượng)
Cho phép các danh sách dữ liệu cĩ thể ghi của kiểu type được lưu trữ trong một biến đơn
Hỗ trợ các biến vốn cĩ thể chỉ lưu trữ các chuỗi
"Kiểu dữ liệu" của các kiểu dữ liệu
Hỗ trợ các biến vốn chỉ cĩ thể lưu trữ giá trị khơng xác định
Mục lục _____________________________ 339
Hục lục
Phần I: Học những điểm cơ bản về JavaScript..... ...........7
Chương t: Chuẩn bị để lập trình bằng Jav aScrip t......................8
Tim hiểu lịch sử của Ja va S crip t......................................................................................................... 9
Nguồn gốc của JavaScript.......................... ....................................................10
JavaScript xâm nhập vào Internet Explorer...................................................10
JavaScript trở thành một chitẩn chính thức ..................................................10
Vị trí của JavaScript ngày n a y........................................................................Ĩ1 Chọn một mơi trường phát triển.......................................................................................................12
Phát triển các trang iveb đnọc vận bành băng JavaScript........ ................ 13
Tao các ứng dụng web dựa í àc nền san e r................................................ l í Sử dụng JavaScript trong một mơi tníờng DOS hoặc W indows....................15
Tìm hiểj những gì JavaScript cĩ ĩhế và khơng t'nể thực h iệ r ......................................... 19
Sử dụng JavaScript làm một ngơn ngữ phía clien t.......................................20
Sứ dụng JavaScript làm một ngơn ngứ phía server......................................21
Quyết định phiên bản nào của JavaScript để sử dụng..................................................... 21
Vest ¿áu chuơng irì.ih JavaScript sử dụng K T M L ..............................................................2?.
Tạo một template JavaScript.......................................................................2 2 Tim hiển template: JavaScript................................. .......................................2.7 Giao tiếp với người dùng..................................................................................................................... 26
Hiển w ị một ốo đ ộ n g...................................................................................2 t Ghi text sang cửa d ổ trình duyêt..................................................................28
Tìm hiểu thêm về các chủ để được thảo luận trong chương n à y ................................ 29
Chương 2: Học những điểm cơ bản về JavaScrip t................... 31
Tim hiểu thuật ngữ cơ b ả n .................................................................................................................32
Lưu trữ dữ liệu trong các b iế n ..........................................................................................................32
Định nghĩa các biến ................................................................ ....................33
Định nghĩa các b ằ n g....................................................................................34
Tìm hiểu dịng chương trìn h .............................................................................................................. 35
Điều khiển dịng chương trình bằng các câu lệnh...............................................................36
Thực thỉ mã một cách cĩ điều kiện ............................................................3 7 Câu lệnh snritch.............................................................................................39
340 Mục lục
Vịng lặp lohile................................................................................................41
Ghi comment cho m ã....................................................................................51
Xác lập một đối tượng mặc đ ịn h..................................................................52
Xứ lý các l ỗ i..................................................................................................53
Câu lệnh try-catch......................................................................................... 55
Tìm hiểu những điểm cd bản về các biểu thức...................................................................58
Sử dụng các tốn tử để tạo các biểu thức phức tạp ......................................................... 58
TỔ chức mã thành các h àm .............................................................................................................. 60
Định nghĩa các h à m.....................................................................................60
Chấp nhận các tham s ố................................................................................64
Tim hiểu phạm vi b iế n............................................................................... 6.5 Trả về các giá tr ị.................................................. ........................................67
Sử dụng các cải tiến trong JavaScript 2.0 để tạo các hàm mạnh hơn......................68
sử dụng các tbarn số tiìy chọn được đặt t ê n................................................69
Chấp nhận bất kỳ số tham s ố...................................................................... 70
Chương 3: s ử dụng các class JavaScript cài s ẵ n ...................72
Tim hiểu các đối tượng trong JavaScript....................................................................................73
Viết các chương trình khơng cĩ cấu t n í c.................................................. 73
TỔ chức mã thành các thủ t ụ c.................................................................... 74
Tách biơt mốt chương trình íhiinh các module ..... .................................. 75
Sử dụng phĩỉơng pháp hĩtơng đối tượng...................................................... 75
Biến các thuộc tính và hàm thành mội class............ ................................ 77
Các c!ass và kiểu dữ liệu cầi sấn của JavaScript...................................................................79
!Thể hiện cụ thể một đối tượng bằng tốn tứ n e n i......................................................82
Tmỵ cập một đối titợng bằng tốn tứ chấm.................................................82
Truy cập một đối ttíợng bằng tốn tử ũ........................................................83
Tạo một đối tượng string trong JavaScrip t............................................................................... 83
Tạo một đối tượng string sứ dụng một tntc kiện c h u ỗ i...............................84
Tạo một đối tĩiợng string sứ dụng kiểu dữ liệu strin g.................................85
Sử dụng chức năng cài sẩn của đối tượng s tr in g ................................................................. 86
Thực thi các hàm tốn h ọ c............................................................................................................... 88
Áp dụng những hàm xử lý ngày tháng của Ja v a S c rip t...................................................... 89
Chuyển đổi các chuỗi thành các sơ'...............................................................................................93
sứ dụng các hàm parselnt và parseFloat.....................................................93
Chuẩn bị text trước khi gởi sang web server........................................................................95
Sí} dụng các hàm escape và unescape.........................................................96
Quyết định khi nào sử dụng các biểu thức thơng thường..................................................97
Tạo các màu với một đổi t ĩ tọng RegExp................................................... 101
Tim hiểu các kiểu dữ liệu mới mạnh mẽ :úa JavaScript 2 . 0 ........................................ 102
sử dụng các kiều dữ liệu Booỉean ĩnĩcger Ị'CÌ Number...........................103
Sứ dụng kiểu dứ liệ u O bject..................................................................... ĩ 04 Tìm hiểu các kiểíi dứ liên đặc b iệ t........................................................... 104
C h ư ờ n g 4: T ổ c h ứ c dữ liệu thành c á c m ảng ..... ............................. 106
Tạo một đối tượng A rraỵ................................................................................................................. 107
Tạo một mảng rỗng................................................................................... 108
Xác đinh một chiều clcìi màng ban đ ầ u................................................... ĩ 10 Tạo và khởi tạo một mảng trong một dịng m ã .................................................................... 110
Sử dụng các trực kiện m ả n g...................................................................... 111
Gọi các thuộc tính V CI phtíơng thức của đổi tưcng A r r a ỵ......................... 112
Xác lập và truy xuất các giá trị trong một m ảng................................................................. 115
Sử dụng các mảng đa ch iều .......................................................................................................... 117
dass StathAtrav.......................................................................................ỉ 23 d a ss DynamicArray.................................................................................. 125
d a ss ConstArray..........................................................................................125
Chương 5: Tạo các d a ss JavaScript riêng của b ạ n ................ 127
Tìm hiểu về các class trong JavaScript................................................................................127
lạ o các đĩi iưọng tiong J a /aịc.ipỉ " ,.x ................................................................................128
Gọi một hàm Construite):-......................................................................... 128
Sù dụng mot ¡rực ữiựn doi liïon# ............................................................................... 131
Mở rơriẹ mơt dass hiên CI1»........................................................................ 133
Mơ rộng một đối titọHịi buhl l ổ ................................................................. 135
Tạo các đối tượnq Ironíị ỊaraScnpl 2 .0...................................................... 7.36 Định nghĩa các ciast riânq U‘U bạn ......................................................... ỉ36 Tổ cbức các class sù âu no sự thừa k ế ....................................................... 140
Chọn giũa các ihànb l iên StatÍL vù Instance ....................................................... 7 45 Làm cho các thành viên dass trở thành Public hoặc Private................... 146
Phẩn II: Xây dụhg các web site đuỢc bật ừong JavaScript. 149 Chương 6: Nhúng JavaScript trong một trang W eb................150
Tim hiểu cấu trúc HTML cơ bản....................................................................................................151
Xây dựng một tài liệu HTML.......................................................................153
Biểu thị loại tài liệĩi bằng <!DOCTYPE>.................................................... 154
Thêm một tiêu đề và định nghĩa các từ khĩa tài liệ u.............................. 154
342 Mục lục
Định dạng text bằng các phần tử HTML.................................................. 156
Định dạng text bằng các style sheet......................................................... 158
Sử dụng <script> để thẻm JavaScript vào một trang W e b ........................................161
sứ dụng <noscript> cho các trình duyệt việc khơng hỗ trợ script...........162
Tải một file JavaScript ngồị....................................................................................................165
Gọi JavaScript sử dụng các Hyperlink...................................................................................166
Tìm hiểu thêm về các chủ đề trong chương nàỵ............................................................. 167
Chương 7: Tạo các script làm việc trong mọi trình duyệt ... 168
Tim hiểu các điểm khác biệt của trinh duyệt.......................................................................... 169
Các loại lỗi cĩ the xảy rả............................................................................169
Phát hiện loại trình duyệt nào mà người dùng đang c h ạ y................... 170
Truy vấn mơ hình đối ticợng (document m odel)...................................... 176
Trung thành với những chuẩn W e b .........................................................................................177
Viết mã nhiều trình duyệt.................................................................................................................178
Chương 8: xử lý các web form .................................................. 185
Tim hiểu các form H TM L.................................................................................................................. 186
Yêu cầu dứ liệu nhập người dùng sứ dụng mơt form HTML................... 187
X ứ ỉý dứ liệu nhập Fonn bằng JavaScript pbía C lient.............................. 188
X ứ lý dứ liệu nhập Form trên một Web S e w e r......................................... 189
Chèn một form HTML vào một trang w e b................................................. 190
Truy tim và xác lập các giá trị điều khiển form trong Ja v a S c rip t.............................. 206
Tmy câp cĩc qiá tn p0*tv S'ị dụng m ảrg form...........................................20C Íray cụp cac giu trị ltn Sỉiaụng mảng elem en ts....................................209
Truy cập các giá trị form sứ dụng getElementByldO..................................210
Tniy cập các giá trị Fortn sứ dụng geỉElementsByNameO.........................211
Tniy cập các giá trị Form sử dụng getEìementsBỵTagNameO ..................211
Chương 9: xử lý các sự kiện trình d uyệt....................................213
Viết các phương thức xử lý sự kiện JavaScrip t..................................................................... 214
x ử lý các sự kiện M ouse..............................................................................217
X ử lý các sự kiện K e y..................................................................................218
X ứ lý các sự kiện HTML................................................................................221
Xử lý các Sự kiện sử dụng thuộc tính E v e n t........................................................................... 224
Kích khởi các sự kiện trong JavaScrip t.................................................................................... 226
Gọi phương thức được kết hợp với một sự k i ệ n..........................................226
Sứ dụng phitơng thức fireE vent...................................................................227
Học những điểm cơ bản vế các frame H TM L....................................................................231
Tạo một Frameset trontị HTML....................................................................232
Định nghĩa và đặt tên cức Frame trong một Frameset..............................241
Gọi các hàm JavaScript từ những Frame k h á c..................................................................... 243
T rty rậtĩ một Fro we khác sứ dụnọ JavaScript............................................243
Gọi một hàm JavaScript đtíợc đặt trong một Frame k h á c.........................245
X ứ lý stỉ đồng bộ hố giữa các Frame........................................................247
Chưởng 11: Tương tác với trình duyệt W e b ........................... 250
Những điểm cơ bản về Document Object Model..................................................................251
Xử lý nội dung của một trang w eb..............................................................................................254
Chình sứa động các nội dung của một trang ĩr e b.......... ..........................255
Thay đổi các mục trong một bộp danh sách xổ x u ố n g.............................258
Kiểm tra tồn bộ cửa sổ trmh duyệt........................................................................................... 259
" n y ;ìm các thuộc tính phần mềm trình duyệt w eb.......................................................... 261
KiêT) iĩd rác xác lập hiển *hi của hệ điều h àn h .................................................................. 262
Truy cập danh sách History của trình duyệt W eb............................................................... 263
Gởi trình duyệt đến một vị trí m ớ ị.............................................................................................265
Chương 12: Thực thi hoạt hình đơn giản................................. 267
Học những điểm cơ ban vễ Casíading style Sheets..........................................................26b Gán Style vào các trang Web sử dụtiíị các phản tủ HTM L........................ 26.9 Gàn Style vào các traììg Web sứ dung (ác Style s h e e t....................................2 7 i Sủ dụn'ị rá'" thuỘK tínb Sĩvtv cơ hàn ...................................................................276
Đăỉ các p h ầ n ỉử trên ttự.Ị Ị rang W e b.......................................................................... . - 2 7 7 Chỉnh sứa các Style sứ dụ Mị JavaScript......................................................279
Tim hiển các vđn đẻ ĩiến c h á o...............................................................................Ì8Ỉ Thực thi hoạt hình cơ bản sử dụng Ja va S crip t.....................................................................282
Tải động các ả n h........................................................................................282
Làm cho nội dung đi chuyển xtmg quanh mcitì h ì n h...............................284
Phần III: Đưa JavaScrip t lên câp độ k ế t iế p ....... .......2 8 7 Chương 13: Gỡ rối các chương trình Ja v a S crip t...................288
Tim hiểu các nguyên nhân cĩ thể gây ra các lỗ ị................................................................289
Tìm nguồn của một thơng báo lỗ i...............................................................291
Hiểu các thơng báo lỗ i...............................................................................292
Mục lục _ _ ______________________________________ 343 Chương 10: Giao tiếp giữa các khung trình d u yệt.................... 230
Sử dụng một bộ hiệu lực hố JavaScrip t..................................................................................... 293
Thêm mã gỡ rối vào chương trìn h ................................................................................................... 294
Sử dụng Console Ja v a S c rip t.............................................................................................................. 297
Sử dụng một trình gỡ rối Ja va S crip t............................................................................................. 298
Chương 14: Làm cho chương trình khơng cĩ lỗ ị.................... 301
Học những điểm cơ bản về ngoại l ệ ............................................................................................. 302
Đĩn bắt các ngoại lệ sử dụng các câu lệnh try và c a tc h ................................................... 303
Tỉm biểu việc tạo bong bĩng ngoại l ệ...........................................................304
Sứ dụng đối tĩỉỢĩig IE Error............................................................................307
Si ỉ dụng các mệnh đê catch chỉ Netscaũe....................................................307
Sứ dụng các mệnh dề finally khơng ch íiẩ n.................................................308
Tạo các ngoại lệ sử dụng câu lệnh throw............................................................................... 310
Thiết kê' các chương trình dễ gỡ rối từ đầụ............................................................................... 312
Tránh lập trình khơng cấn tn íc.....................................................................M 3 Ngắt mã thành các cụm dễ quản lý................................................................................3 1 3 Test tồn diện mã Ja va S crip t............................................................................................................315
Tạo một Testing H arness...............................................................................3*5 Buộc các lỗi Test mã xứ lý lỗ i......................................................................
Tììỉc chitơnQ trình trono nhiềit m ơ i tn íờn ạ k h á c n h a u .............................................J ĩ 8 Chương 15: s ử dụng JavaScript để quản lý các Plug-i»n trinh duyẹt. . .......... ....... . . . . . . .............320
Chèn các dối tưdng cĩ thể viết Script vào các trang Web H T M L ................................ 322
Đưa vào cáu Applet Suit ja v a ............................................................................................................ 322
Kết nối vơi các Applet Java sứ dung JavaScript......................................... J26 Nhúng phim và nhạc trong các trang W e b .............................................................................. 327
Kết nối với các đối tnợng nhạc và Media sử dụng JavaScript....................329
Sử dụng Control Micsosoft Calendar trong các trang W e b ..............................................330
Phụ lục A: Các thẻ HTML 4.01..................................................... 332
Phụ lục B: Tham khảo nhanh JavaScript................................. 336