tu hoc javascript

28
1 THC JAVASCRIPT Ngun http://www.zend.vn Tng hp : Mr.Jin Xin lưu ý : Bài viết này chlà tôi tng hp li trên http://www.zend.vn không phi tôi viết mi chi tiết các bn truy cp vào http://www.zend.vn/public/lap-trinh/javascript/l1l3.html để biết chi tiết . Mc lc 1. JavaScript là gì? .................................................................................................................................... 2 2. Javascript có thlàm gì? ....................................................................................................................... 2 3. Sdụng Javascript như thế nào?........................................................................................................... 2 4. JavaScript thc thi lnh khi nào ............................................................................................................ 3 5. Vtrí JavaScript trong trang HTML ..................................................................................................... 4 6. Hin thdliu bng JS trên trình duyt .............................................................................................. 5 7. Ghi chú trong mã lnh JS ...................................................................................................................... 5 8. Toán t.................................................................................................................................................. 7 9. So sánh và logic trong JavaScript ......................................................................................................... 8 10. Câu điều kin IF… ELSE ................................................................................................................. 9 11. Câu điều kin SWITCH .................................................................................................................. 11 12. Ca sthông báo............................................................................................................................. 12 13. Function .......................................................................................................................................... 14 14. Vòng lp .......................................................................................................................................... 17 15. Câu lnh Break và Continue ........................................................................................................... 19 16. Câu lnhh For...In ........................................................................................................................... 20 17. Skin ............................................................................................................................................ 20 18. Mng trong JavaScript .................................................................................................................... 21 19. Đối tượng Math trong JavaScript .................................................................................................... 25 20. Thiết lp thi gian chy................................................................................................................... 25

Upload: zingoncmu2

Post on 04-Aug-2015

417 views

Category:

Engineering


4 download

TRANSCRIPT

Page 1: Tu hoc javascript

1

TỰ HỌC JAVASCRIPT Nguồn http://www.zend.vn

Tổng hợp : Mr.Jin

Xin lưu ý : Bài viết này chỉ là tôi tổng hợp lại trên http://www.zend.vn không phải tôi viết mọi chi tiết các bạn truy cập vào http://www.zend.vn/public/lap-trinh/javascript/l1l3.html để biết chi tiết .

Mục lục 1. JavaScript là gì? .................................................................................................................................... 2

2. Javascript có thể làm gì? ....................................................................................................................... 2

3. Sử dụng Javascript như thế nào? ........................................................................................................... 2

4. JavaScript thực thi lệnh khi nào ............................................................................................................ 3

5. Vị trí JavaScript trong trang HTML ..................................................................................................... 4

6. Hiển thị dữ liệu bằng JS trên trình duyệt .............................................................................................. 5

7. Ghi chú trong mã lệnh JS ...................................................................................................................... 5

8. Toán tử .................................................................................................................................................. 7

9. So sánh và logic trong JavaScript ......................................................................................................... 8

10. Câu điều kiện IF… ELSE ................................................................................................................. 9

11. Câu điều kiện SWITCH .................................................................................................................. 11

12. Cửa sổ thông báo............................................................................................................................. 12

13. Function .......................................................................................................................................... 14

14. Vòng lặp .......................................................................................................................................... 17

15. Câu lệnh Break và Continue ........................................................................................................... 19

16. Câu lệnhh For...In ........................................................................................................................... 20

17. Sự kiện ............................................................................................................................................ 20

18. Mảng trong JavaScript .................................................................................................................... 21

19. Đối tượng Math trong JavaScript .................................................................................................... 25

20. Thiết lập thời gian chạy................................................................................................................... 25

Page 2: Tu hoc javascript

2

1. JavaScript là gì? JavaScript được thiết kế để tạo ra các tương tác vào các trang HTML JavaScript là một ngôn ngữ kịch bản (scripting language) Một ngôn ngữ kịch bản là một ngôn ngữ lập trình nhẹ JavaScript thường được nhúng trực tiếp vào các trang HTML JavaScript là một ngôn ngữ thông dịch nghĩa là script thực hiện mà không cần sự biên dịch JavaScript thì hoàn toàn miễn phí 2. Javascript có thể làm gì? - JavaScript cung cấp cho những designer một công cụ lập trình vì HTML là không phải là một ngôn ngữ lập, nhưng JavaScript là một ngôn ngữ lập trình với cú pháp rất đơn giản. Hầu hết mọi người có thể nhúng các đoạn mã JavaScript vào những trang HTML làm cho nó trở nên sinh động hơn. - JS có thể đưa vào trang HTML một đoạn văn bản mới mà trước đó nội dung của trang web này chưa hề có. - JS có thể phản ứng lại với một sự kiện nào đó như người sử dụng nhấn chuột lên một phần tử của trang HTML hoặc thay đổi một giá trị nào đó trong ô nhập liệu … - JS có thể đọc hoặc thay đổi nội dung của các phần tử trong trang HTML. - JS có thể dùng để kiểm tra dữ liệu trước khi trình duyệt gửi dữ liệu đến máy chủ. Điều này giúp cho máy chủ không phải xử lý quá nhiều. - JS có thể dùng để phát hiện các loại trình duyệt khác nhau để có thể tải những phần thiết kế phù hợp với trình duyệt đó - JS có thể dùng để sử dụng tạo các tập tin cookie lưu trữ và truy xuất thông tin trên máy tính của người truy cập website. 3. Sử dụng Javascript như thế nào? Để sử dụng JS rất đơn giản, chúng ta chỉ cần đưa các câu lệnh của JS vào trong thẻ <script> của HTML Ví dụ: Xuất ra trình duyệt câu “Hello World” <html> <body> <script type="text/javascript"> document.write("Hello World!"); </script> </body> </html> Chúng ta cũng có thể thêm thẻ của HTML vào JS <html> <body> <script type="text/javascript"> document.write("<h1>Hello World!</h1>"); </script> </body>

</html>

Page 3: Tu hoc javascript

3

Để tránh trường hợp một số trình duyệt không hỗ trợ JS và có thể gây ra lỗi khi website của chúng ta có sử dụng JS, chúng ta thêm một đoạn sau ghi chú của HTML cho nội dung của JS <html> <body> <script type="text/javascript"> <!--document.write("Hello World!"); //--> </script> </body> </html>

4. JavaScript thực thi lệnh khi nào JS trong một trang web thực thi theo 2 cách sau: TH1: Thực hiện lệnh ngay khi trang web được tải về trình duyệt của người sử dụng. TH2: Thực hiện lệnh khi nhận được một tác động nào đó như nhấn nút, di chuyển chuột hoặc đưa chuột lên một phần tử nào đó của HTML … Ví dụ: TH1 <html> <head> <script type="text/javascript"> function message() { alert("This alert box was called with the onload event"); } </script> </head> <body onload="message()"></body> </html> Ví dụ: TH1 <html> <head></head> <body> <script type="text/javascript"> document.write("This message is written by JavaScript"); </script> </body> </html> Ví dụ: TH2 <html> <head> <script type="text/javascript"> function message() { alert("This alert box was called with the onload event");

Page 4: Tu hoc javascript

4

} </script> </head> <body > <a href="#" onclick="message()">Click Here</a> </body> </html> 5. Vị trí JavaScript trong trang HTML Đặt trong cặp thẻ <head> của trang web <html> <head> <script type="text/javascript"> function message() { alert("This alert box was called with the onload event"); } </script> </head> <body onload="message()"></body> </html> Đặt trong cặp thẻ <body> của trang web <html> <head></head> <body> <script type="text/javascript"> document.write("This message is written by JavaScript"); </script> </body> </html> Đặt trong tập tin .js sau đó nhúng tập tin này vào website. Tạo tập tin alert.js có nội dung sau: // JavaScript Document function message() { alert("This alert box was called with the onload event"); } Sau đó tạo một tập tin HMTL nhúng tập tin .js trên vào <html> <head> <script type="text/javascript" src="alert.js"></script> </head> <body > <a href="#" onClick="message()">Click Here</a> </body>

Page 5: Tu hoc javascript

5

</html>

6. Hiển thị dữ liệu bằng JS trên trình duyệt Để in ra một giá trị nào đó bằng JS ra trình duyệt chúng ta chỉ dụng câu lệnh đơn giản sau Cú pháp document.write("<giá trị cần in>"); Ví dụ:

<script type="text/javascript"> document.write("<h1>This is a heading</h1>"); document.write("<p>This is a paragraph.</p>"); document.write("<p>This is another paragraph.</p>"); </script>

Chúng ta có thể dùng câu lệnh này để in các giá trị có thể chuỗi, số, thẻ HTML … 7. Ghi chú trong mã lệnh JS Khi chúng ta lập trình đoạn mã sẽ không đơn giản là một vài dòng mà đôi khi có thể lên đến cả ngàn dòng lệnh trên một trang nên chúng ta cần ghi chú cho các dòng lệnh, đoạn mã lệnh để khi chúng ta hoặc người khác đọc có thể hiểu được đoạn mã đó có ý nghĩa gì Có 2 kiểu ghi chú thường được sử dụng trong ngôn ngữ lập trình: Dòng ghi chú đơn bắt đầu với dấu // Ví dụ:

<script type="text/javascript"> // Write a heading document.write("<h1>This is a heading</h1>"); // Write two paragraphs: document.write("<p>This is a paragraph.</p>"); document.write("<p>This is another paragraph.</p>"); </script>

Nhiều dòng ghi chú bắt đầu với dấu /* và kết thúc với */ Ví dụ:

<script type="text/javascript"> /* The code below will write one heading and two paragraphs */ document.write("<h1>This is a heading</h1>"); document.write("<p>This is a paragraph.</p>"); document.write("<p>This is another paragraph.</p>"); </script>

Chú ý: Chúng ta có thể dùng 2 dòng ghi chú này để đóng tạm thời các dòng lệnh JS trong quá trình lập trình 7. Biến trong JavaScript Biến được dùng để lưu trữ những thông tin trong quá trình xử lý một vấn đề nào đó. Như chúng ta đã học tại các trường phổ thông thì:

Page 6: Tu hoc javascript

6

x=5 y=6 z=x+y = 5 + 6 = 11 Với phép toán trên thì x, y, z là các biến. • x dùng để lưu trữ giá trị 5 • y dùng để lưu trữ giá trị 6 • z dùng để lưu trữ tổng giá trị của 2 biến x và y Với JS cũng vậy biến dùng để lưu trữ một giá trị nào đó có thể là một chuỗi, một đối tượng, một con số, một mảng, một phép toán nào đó ... Để khai báo một biến trong JavaScript chúng ta chỉ cần đặt một câu lệnh var trước tên của biến. var <tên biến>; Chúng ta có thể khai báo trước biến và không cần đưa giá trị vào biến đó Ví dụ:

<script type="text/javascript"> var x; var carname; </script>

Chúng ta cũng có thể vừa khai báo biến và vừa gán giá trị vào biến đó. Giá trị đó được gọi là giá trị mặc định Ví dụ:

<script type="text/javascript"> var x=5; var carname="Volvo"; </script>

Biến có thể là một phép toán nào đó Ví dụ:

<script type="text/javascript"> var x=5; y=x-5; z=y+5; </script

Chú ý: Qui tắc đặt tên biến Tên biến phải bắt đầu bằng ký tự hoặc dấu gạch dưới ( _ ) và không có khoảng trắng. Ví dụ:

<script type="text/javascript"> var xToaDo =5; var _toaDo = 10;

Page 7: Tu hoc javascript

7

</script> Tên biến phân biệt chữ hoa và chữ thường nghĩa là chữ x sẽ khác với chữ X Ví dụ: <script type="text/javascript"> var xToaDo = 5; var XToaDo = 10; </script>

Cách đặt tên biến nên sử dụng trong lập trình. • Đặt tên biến có đầy đủ ý nghĩa với nội dung biến sẽ chứa. • Chữ cái đầu tên trong cụm từ tạo tên biến nên là chữ thường và các chữ cái đầu tiên trong các từ còn là chữ hoa. Ví dụ:

<script type="text/javascript"> var tongGiaTri; var toaDoX; var toaDoY; </script>

8. Toán tử Toán tử là một trong những phần không thể thiếu trong bất kỳ ngôn ngữ lập trình nào. Nếu chúng ta hiểu rõ toán tử thì các dòng sử lý lệnh của chúng ta sẽ gắn gọn và dể hiểu hơn.

Dấu bằng (=): sử dụng để gán một giá trị.

Dấu cộng (+): để cộng thêm một giá trị

Hệ thống phép tính trong JavaScript

Cho biến y = 5 Toán tử Miêu tả Ví dụ 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 giá trị lẻ x=y%2 x=1 ++ Tăng x=++y x=6 -- Giảm x=--y x=4

a. Toán tử gán trong JavaScrip Cho biến x=10 và y=5 Operator Example Same As Result = x=y x=5 += x+=y x=x+y x=15 -= x-=y x=x-y x=5 *= x*=y x=x*y x=50

Page 8: Tu hoc javascript

8

/= x/=y x=x/y x=2 %= x%=y x=x%y x=0

b. Nối các chuỗi ký tự c.

Để nối các chuỗi ký tự lại với nhau, JavaScript sử dụng dấu cộng (+) Ví dụ:

<script type="text/javascript"> var txt1,txt2,txt3; txt1="What a very"; txt2="nice day"; txt3=txt1+txt2; document.write(txt3); </script>

Ví dụ: <script type="text/javascript"> var txt1,txt2,txt3; txt1="What a very"; txt2="nice day"; txt3=txt1+" "+txt2; document.write(txt3); </script>

d. Phép cộng trong chuỗi và số <script type="text/javascript"> x=5+5; document.write(x); x="5"+"5"; document.write(x); x=5+"5"; document.write(x); x="5"+5; document.write(x); </script>

9. So sánh và logic trong JavaScript So sánh và tính logic trong Javascript thường được sử dụng để lấy về 2 kết quả true (đúng) hoặc false (sai) a. Toán tử so sánh Ví dụ chúng ta có một biến x có giá trị là 5. Bây giờ chúng thử xem với hệ thống toán tử so sánh trong JavaScript như thế nào

Toán tử Mô tả Ví dụ == So sánh bằng x==8 is false === So sánh tuyệt đối x==="5" is false

x===5 is true != Không bằng x!=8 is true

Page 9: Tu hoc javascript

9

> Lớn hơn x>8 is false < Nhỏ hơn x<8 is true >= Lớn hơn hoặc bằng x>=8 is false <= Nhỏ hơn hoặc bằng x<=8 is true

b. Sử dụng Để sử dụng chúng ta kết hợp các toán tử so sánh với các câu điều kiện if hoặc if … else

<script type="text/javascript"> var age = 10; if (age<18) document.write("Too young"); </script>

c. Toán tử logic Cho giá trị x=6 and y=3

Toán tử Mô tả Ví dụ && and (x < 10 && y > 1) is true || or (x==5 || y==5) is false ! not !(x==y) is true

d. Toán tử điều kiện Cú pháp variablename=(condition)?value1:value2 Ví dụ:

<script type="text/javascript"> greeting=(visitor=="PRES")?"Dear President ":"Dear "; </script>

Ví dụ: var tuoi = 5; var ketqua; /*if(tuoi> 5){ document.write("vao cap 1"); }else{ document.write("khong duoc vao cap 1"); }*/ //variablename=(condition)?value1:value2 ketqua = ( tuoi> 5)? "vao cap 1" : "khong duoc vao cap 1"; document.write(ketqua);

10. Câu điều kiện IF… ELSE Câu điều kiện thường được sử dụng để thực hiện các hành động khác nhau với những điều kiện khác nhau. Câu điều kiện là câu lệnh mà chúng ta thường xuyên sử dụng khi viết mã cho bằng bất kỳ ngôn ngữ nào. Để thực hiện nhưng hành động khác nhau trong những điều kiện khác nhau.

Page 10: Tu hoc javascript

10

Ví dụ: nếu bạn đủ 22 điểm bạn sẽ được vào Đại Học, nếu bạn có điểm dưới 22 bạn sẽ học hệ Cao Đẳng. Trong JavaScript chúng ta có những kiểu câu điều kiện IF sau: a. Câu lệnh IF Sử dụng câu lệnh này để thực hiện một số mã lệnh nếu đúng điều kiện định ra. Ví dụ:

<script type="text/javascript"> var diemHocVien_A = 5.0; var diemHocVien_B = 4.5; var diemHocVien_C = 6.5; if( diemHocVien_A >= 5){ document.write("Bạn được lên lớp"); } if( diemHocVien_B >= 5){ document.write("Bạn được lên lớp"); } if( diemHocVien_C >= 5){ document.write("Bạn được lên lớp"); } </script>

b. Câu lệnh IF…ELSE Sử dụng câu lệnh điều kiện này để thực hiện một số mã lệnh nếu đúng điều kiện đã định và nếu không đúng điều kiện đã định thì thực hiện một số mã lệnh khác Ví dụ: <script type="text/javascript"> var diemHocVien_A = 5.0; var diemHocVien_B = 4.5; var diemHocVien_C = 6.5; if( diemHocVien_A >= 5){ document.write("Bạn được lên lớp"); }else{ document.write("Bạn phải thi lại"); } if( diemHocVien_B >= 5){ document.write("Bạn được lên lớp"); }else{ document.write("Bạn phải thi lại");

Page 11: Tu hoc javascript

11

} </script> c. Câu lệnh IF… ELSE IF … ELSE Sử dụng câu lệnh điều kiện này trong trường hợp có nhiều điều kiện đặt ra và khi thỏa mỗi điều kiện sẽ thực hiện một số mã lệnh khác nhau. Ví dụ:

<script type="text/javascript"> var diemHocVien_A = 8.1; if( diemHocVien_A < 3.5){ document.write("Học lực loại KÉM"); }else if ( diemHocVien_A < 5){ document.write("Học lực loại YẾU"); }else if ( diemHocVien_A < 6.5){ document.write("Học lực loại TRUNG BÌNH"); }else if ( diemHocVien_A < 8){ document.write("Học lực loại KHÁ"); }else{ document.write("Học lực loại GIỎI"); } </script>

11. Câu điều kiện SWITCH Câu điều kiện Switch thường được sử dụng để thực hiện các hành động khác nhau với những điều kiện khác nhau. Câu điều kiện này gần giống như câu điều kiện IF … ELSE nhưng có một điểm đặc biệt là trong câu điều kiện Switch có một điều kiện mặc định nghĩa là khi giá trị đưa vào không thỏa một điều kiện nào thì nó sẽ lấy các câu lệnh trong phần điều kiện mặc định để thực hiện. Cú pháp: switch(n) { case 1: execute code block 1 break; case 2: execute code block 2 break; default: code to be executed if n is different from case 1 and 2 } Ví dụ 1:

<script type="text/javascript"> var tuoiHocVien = 8; switch(tuoiHocVien) {

Page 12: Tu hoc javascript

12

case 6: document.write("Bạn sẽ học lớp 1"); break; case 7: document.write("Bạn sẽ học lớp 2"); break; case 8: document.write("Bạn sẽ học lớp 3"); break; default: document.write("Xin vui lòng nhập tuổi để chúng tôi xếp lớp cho bạn"); } </script>

12. Cửa sổ thông báo JavaScript có 3 kiểu hiển thị hộp thoại thông báo: Alert box(Cảnh báo), Confirm box(xác nhận), Prompt box(gợi ý). a. Hộp thoại cảnh báo (Alert Box): Là loại hộp thoại cảnh báo thường được sử dụng để báo cho người sử dụng có chắc chắn muốn thực hiện thao tác họ đăng thực hiện hay không. Khi hộp thông báo hiện lên, nếu người dùng nhấn nút OK thì quá trình thực hiện thao tác mới được tiến hành. Cú pháp: alert("sometext"); Ví dụ: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>JavaScript training </title> <script type="text/javascript"> function show_alert() { alert("Đây là hộp thoại hiển thị cảnh báo!"); } </script> </head> <body> <input type="button" onclick="show_alert()" value="Hiện Alert Box" /> </body> </html> b. Hộp thoại xác nhận (Confirm Box):

Page 13: Tu hoc javascript

13

Là một hộp thoại thường được sử dụng để yêu cầu người sử dụng xác nhận có thực hiện một hành động nào đó hay không. Hộp thoại này có 2 nút nhấn "OK" và "Cancel". Nếu người sử dụng nhấn vào nút "OK" hành động sẽ được thực hiện và ngược lại nếu người sử dụng nhấn vào nút "Cancel" hành động sẽ bị hủy bỏ. Khi nhấn vào nút OK chúng ta sẽ nhận được một giá trị của hộp thoại gửi về là true và ngược lại là false Cú pháp: confirm("sometext"); Ví dụ: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>JavaScript training </title> <script type="text/javascript"> function show_comfirm() { var comfirmBox; comfirmBox = confirm("Hệ thống tên lửa đã được kích hoạt.n Bạn có muốn phóng tên lửu đi không?"); if (comfirmBox == true) { document.write("Tên lửa đã được phóng"); } else { document.write("Quá trình phóng tên lửa đã được hủy"); } } </script> </head> <body> <input type="button" onclick="show_comfirm()" value="Hiện Alert Box" /> </body> </html> c. Hộp thoại nhập liệu (Prompt box): Là kiểu hộp thoại dùng để nhắc người sử dụng nhập một giá trị nào đó để sau đó thực hiện một hành động nếu được nhấn nút OK. Trong hộp thoại này cũng có 2 nút "OK" và "Cancel" giống như hộp thoại Confirm. Khi nhấn vào nút OK chúng ta sẽ nhận được giá trị trong ô nhập liệu của hộp thoại Confirm Cú pháp: prompt(text,value); text: là thông tin hiển thị trên hộp thoại value: là giá trị mặc định hiển thị trong ô nhập liệu của hộp thoại. Ví dụ:

Page 14: Tu hoc javascript

14

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>JavaScript training </title> <script type="text/javascript"> function show_prompt() { var name; name = prompt("Tên của bạn là gì?", "Xin vui lòng nhập tên bạn vào đây"); if (name != "" && name != null) { document.write("Xin chào " + name); } } </script> </head> <body> <input type="button" onclick="show_prompt()" value="Hiện Alert Box" /> </body> </html> 13. Function Function là một chức năng mà thông thường chúng ta gọi làm hàm. Trong JavaScript hàm thường được gọi thông qua một sự kiện hoặc hàm nào đó. Để trình duyệt kết hợp với JavaScript một cách linh động chúng ta có thể đưa các đoạn mã JavaScript mà một hàm và khi cần dùng đến chức năng mà hàm cung cấp chúng ta chỉ cần gọi hàm ra sử dụng. Khi sử dụng hàm chúng ta có nhiều lợi ích như không phải viết lại các đoạn mã giống nhau, có thể gọi hàm ở bất kỳ nơi đâu trên trang HTML mà chúng ta muốn và cũng có thể gọi hàm trên các trang HTML khác nếu chúng ta đưa hàm này vào tập tin .js Hàm có thể để ở nhiều nơi trong trang HTML: trong cặp thẻ <head>, trong cặp thẻ <body>, trong tập tin .js, hoặc sau thẻ </html> ở cuối trang HTML. Cú pháp: function function_name(var1,var2,...,varX) { //Code goes here } var1, var2 … varX: được gọi là các tham số của hàm. Hàm có thể có nhiều tham số hoặc không có tham sao nào cả. Chú ý: cách đặt tên hàm tương tự như cách đặt tên biến. Hoặc chúng ta dùng dấu gạch dưới ( _ ) trong hàm có tên là một cụm từ.

Page 15: Tu hoc javascript

15

a. Hàm không có tham số Ví dụ: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>JavaScript training </title> <script type="text/javascript"> function show_alert() { alert("Đây là hộp thoại hiển thị cảnh báo!"); } </script> </head> <body> <input type="button" onclick="show_alert()" value="Hiện Alert Box" /> </body> </html> b. Hàm có tham số Ví dụ: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>JavaScript training </title> <script type="text/javascript"> function show_alert(text) { alert(text); } </script> </head> <body> <input type="button" onclick="show_alert('Hay nhap vao nhung gi ban muon')" value="Hiện Alert Box" /> </body> </html> c. Giá trị trả về sau khi thực hiện hàm (lệnh return) Thông thường hàm sử dụng để xử lý một chức năng nào đó và sau khi xử lý xong thường phải trả về các giá trị. Để trả về một giá trị nào đó sau khi xử lý chúng ta dùng lệnh return. Ví dụ: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Page 16: Tu hoc javascript

16

<title>JavaScript training </title> </head> <body> <script type="text/javascript"> function phepCong(a, b) { var tongGiaTri; tongGiaTri = a + b; return tongGiaTri; } var phepToan; phepToan = phepCong(10, 7); document.write(phepToan); </script> </body> </html> d. Gọi hàm trong một hàm khác Chúng ta có thể xây dựng nhiều hàm xử lý và chúng ta có thể sử dụng hàm xử lý này trong một hàm xử lý khác. Ví dụ: <script type = "text/javascript" > function xuLyPhepToan(val_1, val_2, operator) { var phepToan; if (operator == "cong") { phepToan = phepCong(val_1, val_2); } if (operator == "tru") { phepToan = phepTru(val_1, val_2); } return phepToan; } function phepCong(a, b) { var tongGiaTri; tongGiaTri = a + b; return tongGiaTri; } function phepTru(a, b) {

Page 17: Tu hoc javascript

17

var tongGiaTri; tongGiaTri = a - b; return tongGiaTri; } var phepToan; phepToan = xuLyPhepToan(10, 7, "tru"); document.write(phepToan); </script> Chú ý: Biến trong các một hàm bất kỳ chỉ có tác dụng trong hàm đó chứ không hề ảnh hưởng đến các hàm khác cho dù tên biến giống nhau. 14. Vòng lặp Khi bạn muốn thực hiện điều gì đó nhiều lần thì chúng ta sử dụng vòng lặp FOR hoặc vòng lặp WHILE a. Vòng lặp FOR Cú pháp: for (startValue; endValue;varIncrement) { //Code goes here } startValue: giá trị bắt đầu endValue: giá trị cuối cùng varIncrement: giá trị tăng của vòng lặp Ví dụ: In ra giá trị từ 1 đến 20

<script type="text/javascript"> var i; for (i=1;i<=20;i++) { document.write("The number is " + i); document.write("<br />"); } </script>

Ví dụ: In ra các trị chẵn từ 1 đến 20

<script type="text/javascript"> var i; for (i=2;i<=20;i +=2) { document.write("The number is " + i); document.write("<br />"); } </script>

Ví dụ 3: In ra các giá trị lẻ từ 1-20

<script type="text/javascript">

Page 18: Tu hoc javascript

18

var i; for (i=1;i<=20;i +=2) { document.write("The number is " + i); document.write("<br />"); } </script>

Ví dụ 4: In ra các giá trị từ 20 – 1

<script type="text/javascript"> var i; for (i=20;i>=1;i--) { document.write("The number is " + i); document.write("<br />"); } </script>

b. Vòng lặp While Vòng lặp while thực hiện một khối lệnh khi điều kiện thỏa và dừng lại ngay khi điều kiện không thỏa

Cú pháp: while (var<=endvalue) { code to be executed }

Ví dụ: <script type="text/javascript"> var i=0; while (i<=5) { document.write("The number is " + i); document.write("<br />"); i++; } </script>

c. Vòng lặp do... while Vòng lặp này sẽ thực hiện khối lệnh một lần sau đó, rồi sau đó kiểm tra điều kiện nếu đúng sẽ thực hiện lại khối lệnh đó một lần nữa Cú pháp: do { code to be executed } while (var<=endvalue);

Page 19: Tu hoc javascript

19

Ví dụ: <html> <body> <script type="text/javascript"> var i = 0; do { document.write("The number is " + i); document.write("<br />"); i++; } while (i<=5); </script> </body> </html> 15. Câu lệnh Break và Continue a. Break Câu lệnh này có chức năng thoát khỏi một vòng lệnh nếu thỏa một điều kiện nào đó <html> <body> <script type="text/javascript"> var i = 0; for ( i = 0; i <= 10; i++) { if (i == 3) { break; } document.write("The number is " + i); document.write("<br />"); } </script> </body> </html> b. Continue Câu lệnh này có chức năng thực hiện một điều gì đó nếu thỏa một điều kiện. <html> <body> <script type="text/javascript"> var i = 0 for ( i = 0; i <= 10; i++) { if (i == 3) { continue; } document.write("The number is " + i); document.write("<br />"); } </script> </body> </html>

Page 20: Tu hoc javascript

20

16. Câu lệnhh For...In Vòng lặp này thường dùng để duyện qua một mảng dữ liệu hoặc thuộc tính của một đối tượng Cú Pháp: for (variable in object) { code to be executed } Ví dụ: <html> <body> <script type="text/javascript"> var x; var mycars = new Array(); mycars[0] = "Saab"; mycars[1] = "Volvo"; mycars[2] = "BMW"; for (x in mycars) { document.write(mycars[x] + "<br />"); } </script> </body> </html> 17. Sự kiện Sự kiện là những hành động của người sử dụng được phát hiện bởi JavaScript. Tất cả các thành phần của trang web đều có sự kiện, điều mà có thể kích hoạt một đoạn mã JavaScript. Ví dụ về các sự kiện: • Nhấn chuột • Tải một trang web hoặc một hình ảnh • Di chuyển chuột qua một vị trí nào đó của trang web • Lựa chọn một ô nhập liệu trong HTML form • Gửi một dữ liệu từ HTML • Nhấn một tổ hợp phím Onload và unload: Là 2 sự kiện được người dùng sử dụng khi vào hoặc rời khỏi website. Các sự kiện onload thường để kiểm tra loại trình duyệt của người truy cập và phiên bản trình duyệt để tải phiên bản thích hợp cho website đó Thuộc tính sự kiện (Event Properties): x - Tọa độ x của chuột khi có một sự kiện xảy ra y - Tọa độ y của chuột khi có một sự kiện xảy ra JavaScript định ra 5 loại sự kiện sau: FORM, Images, image map link, and window. Những sự kiện này được liên kết với các thẻ HTML trong trang web.

Page 21: Tu hoc javascript

21

a. Sự kiện với Form blur: Sự kiện xảy ra khi chúng ta rời khỏi một phần tử nào đó của FORM change: Sự kiện xảy ra khi chúng ta thay đổi giá trị một phần tử nào đó của FORM focus: Sự kiện xảy ra khi chúng ta đến một phần tử nào đó của FORM reset: Sự kiện xảy ra khi chúng ta thiết lập lại giá trị cho FORM nào đó select: Sự kiện xảy ra khi chúng ta chọn một đoạn văn bản nào đó submit: Sự kiện xảy ra khi chúng ta muốn gửi dữ liệu trong FORM từ trình duyệt đến máy chủ b. Sự kiện với hình ảnh about: tạo ra một hành động hủy bỏ chức năng error: Có lỗi xảy ra load: một đối được đã tải xong c. Sự kiện với Image Map mouseOut: Chuột được di chuyển ra ngoài từ link của MAP mouseOver: Chuột được di chuyển lên link của MAP d. Sự kiện với Link click: Một đối tượng link được nhấn mouseOut: Chuột được di chuyển ra ngoài từ link mouseOver: Chuột được di chuyển lên link e. Sự kiện với Window blur: Rời khỏi một phần tử nào đó error: Một lỗi xảy ra. focus: Chuyển đến một phần tử nào đó load: Load một phần tử unload: Thoát khỏi một phần tử 18. Mảng trong JavaScript Mảng là một đối tượng được sử dụng để lưu trữ nhiều giá trị trong một biến duy nhất 18.1 Mảng căn bản a.Tạo một mảng: var arrayName = new Array(); b. Thêm một phần tử vào mảng: arrayName[0] = value; c. Các cách tạo một mảng: Cách 1: var students = new Array(); students[0] = "Nguyen Van A"; students[1] = "Nguyen Van B"; students[2] = "Nguyen Van C"; Cách 2: var students=new Array("Nguyen Van A","Nguyen Van B","Nguyen Van C");

Page 22: Tu hoc javascript

22

Cách 3: var students=["Nguyen Van A","Nguyen Van B","Nguyen Van C"]; d. In từng phần tử trong mảng: document.write(students[0]); e. In tất cả mảng:

<script type="text/javascript"> var students=["Nguyen Van A","Nguyen Van B","Nguyen Van C"]; for (x in students) { document.write(students[x] + "<br />"); } </script> <script type="text/javascript"> var students=["Nguyen Van A","Nguyen Van B","Nguyen Van C"]; document.write(students); </script>

f. Lấy chiều dài của một mảng: <script type="text/javascript"> var students=["Nguyen Van A","Nguyen Van B","Nguyen Van C"]; document.write(students.length); </script>

18.2 Nối mảng (concat): Khi chúng ta có nhiều mảng và chúng ta muốn nối các mảng lại với nhau thì chúng ta dùng phương thức concat() của đối tượng mảng Cú pháp: array.concat(array2, array3, ..., arrayX); Ví dụ 1:

<script type="text/javascript"> var str_1 = ["a","b","c"]; var str_2 = ["d","e","f"]; var str_3 = ["g","h","i"]; var charaters; charaters = str_1.concat(str_2); document.write(charaters); </script>

Ví dụ 2: <script type="text/javascript"> var str_1 = ["a","b","c"]; var str_2 = ["d","e","f"]; var str_3 = ["g","h","i"]; var charaters; charaters = str_1.concat(str_2,str_3); document.write(charaters); </script>

18.3 Nối các phần tử trong mảng (join): Phương thức này giúp chúng ta có thể tạo ra một chuỗi từ các phần tử trong một mảng và được ngăn cách bằng một ký tự bất kỳ

Ví dụ: <script type="text/javascript">

Page 23: Tu hoc javascript

23

var str_1 = ["a","b","c"]; var str_2 = ["d","e","f"]; var str_3 = ["g","h","i"]; var charaters; charaters = str_1.join("|"); document.write(charaters); </script>

18.4 Xóa một phần tử ở cuối mảng (pop): Để bỏ đi một phần tử ở cuối mảng chúng ta có thể sử dụng phương thức pop().

Ví dụ: <script type="text/javascript"> var str_1 = ["a","b","c"]; document.write(str_1 + "<br>"); document.write(str_1.pop() + "<br>"); document.write(str_1 + "<br>"); </script>

18.5 Thêm một phần tử vào cuối mảng (push): Phương thức push() dùng để thêm 1 phần tử vào cuối mảng, và sau khi thực hiện phương thức này chúng ta sẽ nhận được giá trị chiều dài mới của mảng. Ví dụ:

<script type="text/javascript"> var str_1 = ["a","b","c"]; document.write(str_1 + "<br>"); document.write(str_1.push("d") + "<br>"); document.write(str_1 + "<br>"); document.write(str_1.push("e","f") + "<br>"); document.write(str_1 + "<br>"); </script>

18.6 Đảo ngược một mảng (reverse): Để đảo ngược thứ tự của một mảng trong JavaScript, chúng ta sử dụng phương thức reverse() Ví dụ:

<script type="text/javascript"> var str_1 = ["a","b","c"]; document.write(str_1 + "<br>"); str_1.reverse(); document.write(str_1 + "<br>"); </script>

18.7 Loại bỏ một phần tử ở đầu mảng (shift): Phương thức shift() dùng để loại bỏ phần tử ở đầu mảng. Sau đó trả về giá trị của phần tử mảng đã xóa. Ví dụ:

<script type="text/javascript"> var str_1 = ["a","b","c"]; var x; document.write(str_1 + "<br>"); x = str_1.shift(); document.write(x + "<br>"); document.write(str_1 + "<br>"); </script>

18.8 Tạo một mảng mới từ một mảng đã có sẵn (slice): Phương thức slice(start, end) giúp chúng ta tạo một mảng mới từ một mảng đã có sẵn bằng cách nhập vào vị trí bắt đầu và kết thúc

Page 24: Tu hoc javascript

24

Ví dụ: <script type="text/javascript"> var str_1 = ["a","b","c",1,2,3]; var x; document.write(str_1 + "<br>"); x = str_1.slice(0,5); document.write(str_1 + "<br>"); document.write(x + "<br>"); </script>

18.8 Sắp xếp mảng (sort): Phương thức sort() giúp chúng ta sắp xếp một mảng theo giá trị của các phần tử trong mảng đó Ví dụ:

<script type="text/javascript"> var str_1 = ["a","b","c",1,2,3]; var x; document.write(str_1 + "<br>"); str_1.sort(); document.write(str_1 + "<br>"); </script>

18.9 Thêm và xóa các phần tử của mảng (splice): Phương thức splice() giúp chúng ta xóa các phần tử trong mảng theo vị trí nhập vào (giống slice()) và thêm vào các phần tử mảng mới vào cuối mảng (giống push()) Ví dụ:

<script type="text/javascript"> var str_1 = ["a","b","c",1,2,3]; var x; document.write(str_1 + "<br>"); str_1.splice(0,2,"Nguyen Van A","Nguyen Van B", 6,7,8); document.write(str_1 + "<br>"); </script>

18.10 Chuyển một mảng thành chuỗi (toString): Phương thức toString() giúp chúng ta chuyển một mảng thành một chuỗi, hãy xem ví dụ sau: Ví dụ:

<script type="text/javascript"> var str_1 = ["a","b","c",1,2,3]; var x; x = str_1.toString(); document.write(x); </script>

18.11 Thêm một phần tử mới vào đầu mảng (unshift): Phương thức unshift() giúp chúng ta thêm các giá trị vào một mảng và trả về một mảng mới Ví dụ:

<script type="text/javascript"> var str_1 = ["a","b","c",1,2,3]; var x; document.write(str_1 + "<br>"); str_1.unshift(100); document.write(str_1 + "<br>"); str_1.splice(0,0,200); document.write(str_1 + "<br>");

Page 25: Tu hoc javascript

25

</script> 19. Đối tượng Math trong JavaScript Đối tượng Math trong JavaScript hỗ trợ chúng ta trong công việc thực hiện các phép toán Cách sử dụng: Math.<phương thức>; Các phương thức thông dụng trong đối tượng Math: ID Phương thức Chức năng 1 Math.round(x) Làm tròn (.5 = 1) 2 Math.floor(x) Làm tròn xuống (.6 = 0) 3 Math.random() Lấy ngẫu nhiên một số 4 Math.max(x,y,z,...,n) Lấy số có giá trị lớn nhất trong chuỗi số 5 Math.min(x,y,z,...,n) Lấy số có giá trị nhỏ nhất trong chuỗi số 6 Math.abs(x) Trả về giá trị số nguyên dương Ví dụ: Hiển thị ngẫu nhiên một hình ảnh từ một tập hợp nhiều ảnh Trong ví dụ này chúng ta sẽ kết hợp 2 đối tượng Array và Math của JavaScript. Các bước thực hiện: - Chuẩn bị một số hình ảnh ( 5 pictures) - Tạo một mảng lưu tên của các hình ảnh này - Sử dụng các phương thức floor(), random() để hiển thị ngẫu nhiên một hình ảnh <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <script type="text/javascript"> var imageList = new Array; imageList[0] = "images/001.jpg"; imageList[1] = "images/002.jpg"; imageList[2] = "images/003.jpg"; imageList[3] = "images/004.jpg"; imageList[4] = "images/005.jpg"; function showImage() { var imageChoice = Math.floor(Math.random() * imageList.length); document.write('<img src="' + imageList[imageChoice] + '">'); } </script> </head> <body> <script type="text/javascript"> showImage(); </script> </body> </html> 20. Thiết lập thời gian chạy JavaScript có thể thực hiện một chức năng nào đó sau một thời gian được định trước. setTimeout() - Thực hiện một số lệnh với thời gian được định trước trong tương lai.

Page 26: Tu hoc javascript

26

clearTimeout() - Hủy hàm setTimeout() Cú pháp:

setTimeout("javascript statement",milliseconds); Với milliseconds * 1000 = 1 giây Ví dụ 1: Hiển thị hộp thoại alert sau 5 giây sau khi nhấn nút <html> <head> <script type="text/javascript"> var t; function timedMsg() { t = setTimeout("alert('5 seconds!')", 5000); } </script> </head> <body> <form> <input type="button" value="Display timed alertbox!" onClick="timedMsg()" /> </form> </body> </html> Ví dụ 2: Tạo một ô textbox và có giá trị thay đổi theo thời gian <html> <head> <script type="text/javascript"> var c = 0; var t; function timedCount() { document.getElementById('txt').value = c; c = c + 1; t = setTimeout("timedCount()", 1000); } </script> </head> <body> <form> <input type="button" value="Start count!" onClick="timedCount()"> <input type="text" id="txt" /> </form> </body> </html> Ví dụ 3: Dừng giá trị trong ô textbox trong ví dụ 2 <html> <head> <script type="text/javascript"> var c = 0; var t; function timedCount() {

Page 27: Tu hoc javascript

27

document.getElementById('txt').value = c; c = c + 1; t = setTimeout("timedCount()", 1000); } function stopCount() { clearTimeout(t); } </script> </head> <body> <form> <input type="button" value="Start count!" onClick="timedCount()"> <input type="text" id="txt"> <input type="button" value="Stop count!" onClick="stopCount()"> </form> </body> </html> Ví dụ 4: Ẩn hiện một bức tranh kết hợp setTimeout() và thuộc tính opacity của CSS <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <script type="text/javascript"> var maxOpacity = 1; var minOpacity = 0; function setHidden() { var thisObj = document.getElementById('picture'); maxOpacity = maxOpacity - 0.1; if (maxOpacity >= 0) { thisObj.style.opacity = maxOpacity; //thisObj.filters.alpha.opacity = maxOpacity; window.setTimeout("setHidden('picture')", 100); } else { thisObj.style.opacity = 0; } } function setShow() { var thisObj = document.getElementById('picture'); minOpacity = minOpacity + 0.1; if (minOpacity <= 1) { thisObj.style.opacity = minOpacity; //thisObj.filters.alpha.opacity = maxOpacity; window.setTimeout("setShow('picture')", 100);

Page 28: Tu hoc javascript

28

} else { thisObj.style.opacity = 1; } } </script> </head> <body > <input type="button" onClick="setHidden()" value="Hidden"> <input type="button" onClick="setShow()" value="Show"> <br> <img src="images/007.jpg" id="picture" > </body> </html>