AVASCRIPT
Bài 1: TỔNG QUAN VỀ JAVASCRIPT.
1. Đặc tính của ngôn ngữ Javascript:avascript là một ngôn ngữ thông dịch (interpreter), chương trình nguồn của nó được nhúng(embedded) hoặc tích hợp (integated) vào tập tin HTML chuẩn. Khi file được load trongBrowser (có support cho JavaScript), Browser sẽ thông dịch các Script và thực hiện các công việcxác định. Chương trình nguồn JavaScript được thông dịch trong trang HTML sau khi toàn bộ trangđược load nhưng trước khi trang được hiển thị.Javascript là một ngôn ngữ có đặc tính:• Đơn giản.• Động (Dynamic).• Hướng đối tượng (Object Oriented).
JAVASCRIPT MEDIASPACE CLUB (HTD) PAGE: 1 JAVASCRIPT Bài 1: TỔNG QUAN VỀ JAVASCRIPT. 1. Đặc tính của ngôn ngữ Javascript: avascript là một ngôn ngữ thông dịch (interpreter), chương trình nguồn của nó được nhúng (embedded) hoặc tích hợp (integated) vào tập tin HTML chuẩn. Khi file được load trong Browser (có support cho JavaScript), Browser sẽ thông dịch các Script và thực hiện các công việc xác định. Chương trình nguồn JavaScript được thông dịch trong trang HTML sau khi toàn bộ trang được load nhưng trước khi trang được hiển thị. Javascript là một ngôn ngữ có đặc tính: • Đơn giản. • Động (Dynamic). • Hướng đối tượng (Object Oriented). 2. Ngôn ngữ JavaScript: Một trong những đặc tính quan trọng của ngôn ngữ JavaScript là khả năng tạo và sử dụng các đối tượng (Object). Các Object này cho phép người lập trình sử dụng để phát triển ứng dụng. Trong JavaScript ,các Object được nhìn theo 2 khía cạnh: a. Các Object đã tồn tại. b. Các Object do người lập trình xây dựng. Trong các Object đã tồn tại được chia thành 2 kiểu: a. Các Object của JavaScript (JavaScript Built-in Object). b. Các đối tượng được cung cấp bởi môi trường Netscape. 3. Built-in Object trong JavaScript: JavaScript cung cấp 1 bộ các Built-in Object để cung cấp các thông tin về sự hiện hành của các đối tượng được load trong trang Web và nội dung của nó.Các đối tượng này bao gồm các phương pháp (Method) làm việc với các thuộc tính (Properties) của nó. 4. Các đối tượng được cung cấp bởi môi trường Netscape: Netscape Navigator cung cấp các đối tượng cho phép JavaScript tương tác với file HTML, các đối tượng này cho phép chúng ta điều khiển việc hiển thị thông tin và đáp ứng các sự kiện trong môi trường Navigator.Ví dụ Đối tượng Mô tả Window Cung cấp các phương pháp và các tính chất cho cửa sổ hiện hành của trình duyệt,bao gồm các đối tượng cho mỗi frame. J JAVASCRIPT MEDIASPACE CLUB (HTD) PAGE: 2 Location Cung cấp các tính chất và phương pháp làm việc với các địa chỉ URL hiện hành được mở. History Các đối tượng history cung cấp thông tin về các danh sách cũ và có thể giới hạn sự tương tác với danh sách. Document Đây là một đối tượng được sử dụng nhiều nhất .Nó chứa đựng các Đối tượng,tính chất và các phương pháp làm việc với các thành phần của tài liệu như các :form,link,anchor,applet. 5. Các đối tượng do người lập trình xây dựng: a. Định nghĩa thuộc tính của đối tượng: (Object Properties) Cú pháp : Object-name.Property-name (tên đối tượng.tên đặc tính) Ví dụ :Một đối tượng airplane có các thuộc tính như sau: Airplane.model Airplane.price Airplane.seating Airplane.maxspeed Airplane.fuel b. Thêm các phương pháp cho đối tượng:( Method to Object) Sau khi đã có các thông tin về airplane ta tiếp tục xây dựng phương pháp để sử dụng thông tin này.Ví dụ bạn muốn in ra mô tả của airplane hoặc tính toán khoảng cách tối đa của cuộc hành trình với nhiên liệu đã có: Airplane.description() Airplane.distance() c. Tạo một instance của đối tượng: Trước khi thao tác với một đối tượng của JavaScript ta phải tạo một instance cho đối tượng đó. 6 . Nhúng JavaScript vào trong tập tin HTML: Cú pháp: JavaScript Program Thuộc tính của thẻ SCRIPT + SRC :Địa chỉ URL chỉ đến tập tin chương trình JavaScript (*.js) + LANGUAGE: Chỉ định ngôn ngữ được sử dụng trong Script và các phiên bản sử dụng (ví dụ như :JavaScript ,JavaScript .1.2 vv ,VBScript). 7. Ẩn các Scripts đối với các Browser không cung cấp JavaScript: <!- - Dòng dấu Script đối với các Browser không cung cấp (support) JavaScript Program //Dòng kết thúc việc dấu Script và chú thích - - > JAVASCRIPT MEDIASPACE CLUB (HTD) PAGE: 3 8. Sử dụng tập tin JavaScript bên ngoài : <!- - Dòng dấu Script đối với các Browser không cung cấp (support) JavaScript Program //Dòng kết thúc việc dấu Script và chú thích - - > 9. Thêm chương trình vào tập tin HTML: Listing 2.1 Here is result: <!-- document.writeln("It work"); --> Bài 2: SỬ DỤNG JAVASCRIPT 1. Cú pháp cơ bản của lệnh : JavaScript xây dựng các hàm,các phát biểu,các toán tử và các biểu thức trên cùng một dòng và kết thúc bằng ; Ví dụ: document.writeln("It work"); 2. Các khối lệnh: Nhiều dòng lệnh có thể được liên kết với nhau và được bao bởi { } Ví dụ: { document.writeln("Does It work"); document.writeln("It work!"); } 3. Xuất dữ liệu ra cửa sổ trình duyệt: Dùng 2 phương pháp document.write() và document.writeln() Ví dụ: document.write(“Test”); document.writeln(“Test”); 4. Xuất các thẻ HTML từ JavaScript JAVASCRIPT MEDIASPACE CLUB (HTD) PAGE: 4 Ví dụ 1: Outputting Text This is text plain <!- - document.write("This is text bold "); - -> Ví dụ 2: Example 2.4 <!- - document.write('<IMG SRC="welcome.gif">'); document.write("WELCOME TO NETSCAPE 2.1"); - -> 5. Sử dụng phương pháp writeln() với thẻ PRE: Outputting Text <!- - document.writeln("One,"); document.writeln("Two,"); document.write("Three"); document.write("..."); - -> 6. Các kí tự đặc biệt trong chuổi: \n : New line \t : Tab \r : carriage return \f : form feed \b: backspace Ví dụ: document.writeln("It work!\n"); 7. Làm việc với các dialog boxes Sử dụng hàm alert() để hiển thị thông báo trong một hộp. Ví dụ: Example 2.5 <!- - alert("Welcome to Netscape Navigator 21"); document.write('<IMG SRC="welcome.gif">'); - -> JAVASCRIPT MEDIASPACE CLUB (HTD) PAGE: 5 8. Tương tác với người sử dụng: Sử dụng phương pháp promt() để tương tác với người sử dụng. Ví dụ 1: Listing 2.6 <!- - document.write("Your favorite color is:"); document.writeln(prompt("enter your favorite color:","Blue")); - -> Ví dụ 2: Listing 2.6 <!- - document.write('<IMG SRC="welcome.gif">'); document.write("Greeting ,"); document.writeln(prompt("enter your name:","name")); document.write("Welcome to netscape navigator 2.01 "); - -> Sử dụng dấu + để cộng 2 chuổi đơn lại: Ví dụ 3: Listing 2.6 <!- - document.write('<IMG SRC="welcome.gif">'); document.write("Greeting ," + prompt("enter your name:","name") + " Welcome to netscape navigator 2.01 "); - -> 9. Các kiểu dữ liệu trong JavaScript: a. Dữ liệu kiểu số: + Số nguyên: ví dụ 720 + Số Octal: ví dụ :056 + Số Hexa:ví dụ:0x5F + Số thập phân :ví dụ :7.24 , -34.2 ,2E3 b. Dữ liệu kiểu chuổi: ví dụ: ” Hello” ’245’ “ “ c. Dữ liệu kiểu Boolean: Kết quả trả về là true hoặc false. JAVASCRIPT MEDIASPACE CLUB (HTD) PAGE: 6 d. Dữ liệu kiểu null: Trả về giá trị rỗng. e. Dữ liệu kiểu văn bản (giống như kiểu chuổi) 10. Tạo biến trong JavaScript: Var example; Var example=”Hello”; Ta có thể dùng document.write(example); để xuất nội dung của biến. Ví dụ 1: dùng từ khóa var để khai báo biến Example 3.1 <!- - var name=prompt("enter your name:","name"); - -> <!-- document.write('<IMG SRC="Welcome.gif">'); document.write("Greeting ," + name + " Welcome to netscape navigator 2.01 "); --> Ví du 2: tạo lại một giá trị mới cho biến Example 3.2 var name=prompt("enter your name:","name"); alert ("greeting " + name + " , "); name=prompt("enter your friend's name:","friend's name"); <!-- document.write('<IMG SRC="Welcome.gif">'); document.write("Greeting ," + name + " Welcome to netscape navigator 2.01 "); --> 11. Làm việc với biến và biểu thức: • Thiết lập biểu thức: Cú pháp: * Toán tử: = Thiết lập giá trị bên phải cho bên trái Ví dụ :x=5 += Cộng trái và phải ,sau đó gán kết quả cho bên trái phép toán Ví dụ: cho x=10,y=5 x+=y => x=15 -= Trừ bên trái cho bên phải ,gán kết quả lại cho bên trái x-=y => x=5 JAVASCRIPT MEDIASPACE CLUB (HTD) PAGE: 7 *= Nhân bên trái cho bên phải,gán kết quả cho bên trái x*=y => x=50 /= Chia bên trái cho phải ,gán kết quả lại cho bên trái x/=y => x=2 %= Chia bên trái cho bên phải và lấy số dư gán lại cho bên trái x%=y => x=0 * Các toán tử khác: Ví dụ: x+=15+3 => x=18 8+5 32.5 * 72.3 12 % 5 Dấu ++ và dấu - - và dấu - Ví dụ: x=5; y=++x; (=> y=6 vì x tăng lên 6) z=x++; (=> z=6 vì sau đó x gán cho z) sau đó x tăng 1 => x=7 Do đó ta có kết quả cuối cùng là: x=7;y=6;z=6; Ví dụ: x=5; x=-x => x=-5 • Phép toán Logic && : và ||: hoặc ! not Ví dụ: x=5 ,y=2 ,c=3 (x>y) && (x>c) false && anything is always false (x>y) || (c true !x • Toán tử so sánh trong JavaScript: == != > < >= <= Ví dụ: 1==1 => true 3false 5 >=4 =>true “the” != “he” => true 4==”4” =>true • Toán tử điều kiện: Cú pháp: (điều kiện ) ? giá trị 1 : giá trị 2 Nếu điều kiện đúng thì trả về giá trị 1 Nếu điều kiện sai thì trả về giá trị 2 Ví dụ: JAVASCRIPT MEDIASPACE CLUB (HTD) PAGE: 8 (day=”Saturday”) ? “Weekend” : “Not Saturday” • Toán tử chuổi: “ Welcome to “ + “ Netscape Navigator” Ví dụ: Var welcome=”Welcome to” Welcome += “ Netscape Navigator” ! welcome= “Welcome to Netsacpe Navigator” Ví dụ : Sử dụng toán tử điều kiện để kiểm tra ngỏ vào Example 3.3 var question="What is 10+10 ?"; var answer=20; var correct='<IMG SRC="correct.gif">'; var incorrect='<IMG SRC="incorect.gif">'; var response=prompt(question,"0"); var output = (response==answer) ? correct:incorrect; <!-- document.write(output); --> 12. Cấu trúc điều kiện if – else if điều kiện lệnh ; if điều kiện { Mã JavaScript } Ví dụ: if (day==”Saturday”) { document.writeln(“It‘s the weekend”); alert(“ It’s the weekend”); } Ví dụ: If (day==”Saturday”) { document.writeln(“It‘s the weekend”); } If (day!=”Saturday”) { document.writeln(“It‘s not Saturday”); } Sử dụng cấu trúc else – if cho ví dụ ở trên If (day==”Saturday”) { document.writeln(“It‘s the weekend”); } else { document.writeln(“It‘s not Saturday”); ... ASCRIPT Các sự kiện cung cấp các tương tác với cửa sổ trình duyệt và tài liệu hiện hành đang được load trong trang web, các hành động của user khi nhập dữ liệu vào form và khi click vào các button trong form. Khi sử dụng bộ quản lý sự kiện bạn có thể viết các hàm để biểu diễn cho các hành động dựa vào các sự kiện đựoc chọn Bảng sự kiện trong Javascript JAVASCRIPT MEDIASPACE CLUB (HTD) PAGE: 16 Tên sự kiện Mô tả blur Xãy ra khi điểm tập trungcủa ngõ vào được di chuyển ra khỏi một thành phần của Form (Khi user click ra ngoài một trường) click Khi user Click vào 1 link hoặc thành phần của Form. change Xãy ra khi giá trị của Form Field bị thay đổi bởi user. focus Xãy ra khi ngõ vào tập trung vào thành phần của Form load Xãy ra khi một trang được Load vào trong bộ duyệt. mouseover Xãy ra khi User di chuyển mouse qua một Hyperlink. select Xãy ra khi User chọn 1 trường của thành phần Form. submit Xãy ra khi User xác nhận đã nhập xong dữ liệu. unload Xãy ra khi User rời khỏi trang Web. Bộ quản lý sự kiện (Event Handler) Để quản lý các sự kiện trong javascript ta dùng các bộ quản lý sự kiện. Cú pháp của một bộ quản lý sự kiện: Ví dụ: Ví dụ: <INPUT TYPE=”text” onChange=” if (parseInt(this.value) <= 5) { alert(‘Please enter a number greater than 5.’); } “> Ví dụ: <INPUT TYPE=”text” onChange=” alert(‘Thanks for the entry.’); confirm(‘Do you want to continue?’); “> Từ khóa this: quy cho đối tượng hiện hành.Trong Javascript Form là mộ đối tượng.Các thành phần của Form bao gồm text fields, checkboxes, radio buttons, buttons, và selection lists. Ví dụ: Các bộ quản lý sự kiện trong Javascript Đối tượng Bộ quản lý sự kiện tương ứng. JAVASCRIPT MEDIASPACE CLUB (HTD) PAGE: 17 Selection list onBlur, onChange, onFocus Text element onBlur, onChange, onFocus, onSelect Textarea element onBlur, onChange, onFocus, onSelect Button element OnClick Checkbox onClick Radio button OnClick Hypertext link onClick, onMouseOver Reset button OnClick Submit button OnClick Document onLoad, onUnload Window onLoad, onUnload Form onSubmit 5 Cách dùng bộ quản lý sự kiện onLoad & onUnload Example 5.1 <BODY onLoad=”alert(‘Welcome to my page!’);” onUnload=”alert(‘Goodbye! Sorry to see you go!’);”> MTWRFSS Vi du: Example 5.1 <!-- HIDE FROM OTHER BROWSERS var name = “”; // STOP HIDING FROM OTHER BROWSERS --> <BODY onLoad=” name = prompt(‘Enter Your Name:’,’Name’); alert(‘Greetings ‘ + name + ‘, welcome to my page!’);” onUnload=” alert(Goodbye ‘ + name + ‘, sorry to see you go!’);”> Vi du MTWRFSS JAVASCRIPT MEDIASPACE CLUB (HTD) PAGE: 18 Example 5.1 <!-- HIDE FROM OTHER BROWSERS // DEFINE GLOBAL VARIABLE var name = “”; function hello() { name = prompt(‘Enter Your Name:’,’Name’); alert(‘Greetings ‘ + name + ‘, welcome to my page!’); } function goodbye() { alert(Goodbye ‘ + name + ‘, sorry to see you go!’); } // STOP HIDING FROM OTHER BROWSERS --> Các sự kiện và Form Cac sự kiện được sử dụng để truy xuất Form như: OnClick, onSubmit, onFocus, onBlur, và onChange. Ví dụ: <INPUT TYPE=text NAME=”test” VALUE=”test” onBlur=”alert(‘Thank You!’);” onChange=”check(this);”> Khi giá trị thay đổi function check() sẽ được gọi. Ta dùng từ khóa this để chuyển đối tượng của trường hiện hành đến hàm check() Bạn cũng có thể dựa vào các phương pháp và các thuộc tính của đối tượng bằng phát biểu sau: this.methodName() & this.propertyName. Ví dụ: Example 5.3 <!-- HIDE FROM OTHER BROWSERS function calculate(form) { form.results.value = eval(form.entry.value); } function getExpression(form) { form.entry.blur(); form.entry.value = prompt(“Please enter a JavaScript mathematical expression”,””); calculate(form); } //STOP HIDING FROM OTHER BROWSERS --> Enter a JavaScript mathematical expression: <INPUT TYPE=text NAME=”entry” VALUE=”” onFocus=”getExpression(this.form);”> JAVASCRIPT MEDIASPACE CLUB (HTD) PAGE: 19 The result of this expression is: <INPUT TYPE=text NAME=”results” VALUE=”” onFocus=”this.blur();”> MTWRFSS formObjectName.fieldname:Dùng để chỉ tên trường của hiện hành trong Form. formObjectName.fieldname.value: dùng lấy giá trị của trường form hiện hành. Sử dụng vòng lặp trong JavaScript 1 . Vòng lặp for : Cú pháp : for ( init value ; condition ; update expression ) Ví dụ : for (i = 0 ; i < 5 ; i++) { lệnh ; } Ví dụ: for loop Examle <!- - var name=prompt("What is your name?" ,"name"); var query= " " ; document.write("" + name + " 's 10 favorite foods "); for (var i=1 ;i<=10;i++) { JAVASCRIPT MEDIASPACE CLUB (HTD) PAGE: 20 document.write(i + " " + prompt('Enter food number ' + i, 'food' ) + ''); } - -> 2 . Vòng lặp while : Cú pháp: While ( điều kiện) { lệnh JavaScript ; } Ví dụ: var num=1; while(num<=10) { document.writeln(num); num++; } Ví dụ: var answer=” “ ; var correc=100; var question=” what is 10*10 ?” ; while(answer!=correct) { answer=prompt(question,”0”); } 3. Tạo mảng với vòng lặp for: function createArray(num) { this.length=num; for ( var j=0 ; j<num; j++) this[j]=0; } Hàm sẽ tạo một mảng có giá trị index bắt đầu là 0 và gán tất cả các giá trị của mảng về 0 . Để sử dụng đối tượng mảng ta có thể làm như sau: newArray= new createArray(4) Sẽ tạo ra một mảng gồm 4 thành phần newArray[0] NewArray[3] JAVASCRIPT MEDIASPACE CLUB (HTD) PAGE: 21 Sử dụng đối tượng Windows Window là đối tượng của môi trường Navigator,ngoài các thuộc tính Window đối tượng window còn giữ các đối tượng khác mà có thể được xem như là các thành phần (member) của window, các đối tượng đó là: • Các frame đã được tạo • Các đối tượng location và histtory • Đối tượng document Đối tượng document chứa (encompasses) tất cả các thành phần trong trang HTML.Đây là một đối tượng hoàn hảo có các đối tượng khác của JavaScript gán (attached) vào nó (như là anchor,form,history,link).Hầu như mọi chương trình JavaScript đều có sử dụng đối tượng này để tham khảo đến các thành phần trong trang HTML. 1) Các thuộc tính (properties) của đối tượng document a . alink b . anchor c . bgColor d . cookies e . fgColor f . form g . lastModified h . linkColor i . links j . location k . referrer l . title m . vlinkColor 2) Các hành vi (Methods) của đối tượng document a . clear() b . close() c . open() d . write() e . writeln() 3) Các thuộc tính của đối tượng Window a . defaultStatus : Giá trị mặt nhiên được hiển thị ở thanh trạng thái b . frames : Mảng các đối tượng chứa đựng một mục cho mỗi frame con trong một frame tài liệu c . parent : Được sử dụng trong FRAMSET d . self : Cửa sổ hiện hành , dùng để phân biệt giữa các cửa sổ hiện hành và các forms có cùng tên . e . status : Giá trị của chuỗi văn bản được hiển thị tại thanh status bar.Dùng để hiển thi các thông báo cho người sử dụng . f . top : Đỉnh cao nhất của cửa sổ cha JAVASCRIPT MEDIASPACE CLUB (HTD) PAGE: 22 g . window 4) Các hành vi (Methods) của đối tượng window a . alert() : Hiện 1 thông báo trong hộp thoại với OK button. b . close() : Đóng cửa sổ hiện hành. c . open() : Mở một cửa sổ mới với 1 tài liệu được chỉ ra hoặc mở một tài liệu trong một tên cửa sổ được chỉ định. d . prompt() : Hiện một hộp thông báo e . setTimeout() : f . clearTimeout() : Hành vi này cung cấp cách gọi phát biểu JavaScript sau một khoảng thời gian trôi qua .Ngoài ra đối tượng window có thể thực hiện event handler : onLoad=statement Làm việc với status bar Khi user di chuyển qua một hyperlink ta có thể hiện ra một thông báo tại thanh status bar của bowser dựa vào event handler onMouseOver và bằng cách đặt self.status là một chuổi (hoặc window.status). Ví dụ: Status Example Lop chuyen dề PLC Thiet Ke Web Mở và đóng các cửa sổ Sử dụng phương pháp open() và close() ta có thể điều khiển việc mở và đóng cửa sổ chứa tài liệu. open (“URL” , “WindowName” , “featureList”) ; Các đặc điểm trong phương pháp open() gồm có: • toolbar : tạo một toolbar chuẩn • location: tạo một vùng location • directories: tạo các button thư mục chuẩn • status: tạo thanh trạng thái. • menubar : tạo thanh menu tại đỉnh của cửa sổ • scrollbars: tạo thanh scroll bar • resizable: cho phép user thay đổi kích thước cửa sổ • width : chỉ định chiều rộng cửa sổ theo đơn vị pixel • height : chỉ định chiều cao cửa sổ theo đơn vị pixel Ví dụ: window.open( “plc.htm”,”newWindow”,”toolbar=yes,location=1,directories=yes,status=yes, JAVASCRIPT MEDIASPACE CLUB (HTD) PAGE: 23 menubar=1,scroolbar=yes,resizable=0,copyhistory=1,width=200,height=200”); Ví dụ: WINDOWS <!-- function openWindow(url,name) { popupWin = window.open(url, name, "scrollbars=yes,width=800, heigth=200 "); } --> PLC, Sua chua, Thiet ke web Để đóng cửa sổ ta có thể dùng phương pháp close() Ví dụ: Close Example <IMG ALIGN="middle" SRC="../demo.gif" WIDTH="16" HEIGHT="16" BORDER="0"> Close This Sample Sử dụng đối tượng string String là một đối tượng của JavaScript,khi dùng đối tượng string chúng ta không cần các phát biểu để tạo một instance (thể nghiệm) của đối tượng ,bất kỳ lúc nào ta đặt text giữa hai dấu ngoặc kép và gán nó đến một biến hoặc một thuộc tính thì ta đã tạo một đối tượng string. 1. Các thuộc tính của đối tượng string Thuộc tính length giữ số kí tự của string. 2. Các hành vi (Methods) của đối tượng string a . Anchor (nameAttribute) b . big() c . blink() d . bold() e . charAt(index) f . fixed() g . fontcolor(color) JAVASCRIPT MEDIASPACE CLUB (HTD) PAGE: 24 h . fontsize(size) i . indexOf(character,[fromIndex]) j . italics() k . lastIndexOf(character,[fromIndex]) l . link(URL) m . small() n . strike() o . sub() p . substring(startIndex,endIndex) q . sup() r . toLowerCase() s . toUpperCase() ---------------------------- Biên soạn: Phạm phú Tài Huu Thanh Design
Tài liệu đính kèm: