Chưdng 2: Học những điểm cơ bản vể JavaScript Sử d ụ n g c á c c ả i tiế n tro n g Jav aS crip t 2.0 đ ể tợo c á c hàm

Một phần của tài liệu Ebook hướng dẫn tự học ngôn ngữ lập trình javarscript phần 1 ths nguyễn nam thuận (Trang 64 - 68)

C risiu s= 70, Fahrenhei t= 94 eUtus = 6 0 F a h re n h e it« 7

68 Chưdng 2: Học những điểm cơ bản vể JavaScript Sử d ụ n g c á c c ả i tiế n tro n g Jav aS crip t 2.0 đ ể tợo c á c hàm

m ợnh hơn

Ja v a S c rip t 2.0 m ang m ột số cải tiến cho ngơn ngữ. H iệp hội các n h à sản x uất m áy tín h châu Âu (ECMA) đã bổ sung m ột số tín h n ăn g nhằm tă n g sức m ạn h và sự lin h hoạt:

B Các class (lớp) B Các package (gĩi) B Các namespace

B Các Data type (kiểu dữ liệu)

R Các m ảng d ứ liệu (data a*ray) m ạnh bơr và ìinh hoạt bơn

B Các access control (điều khiển truy cập), chẳng hạn như public và private

Với chức n ă n g bổ sung này, bây giờ Jav a S c rip t cĩ th ể được sử dụng cho các tá c vụ m à trước đây địi hỏi một ngơn ngữ phức tạ p hơn như c+ + hoặc Ja v a , tro n g k h i v ẫ n giữ lại tín h đơn giản mà đã làm cho Jav a S c rip t r ấ t th ơ n g dụng với các n h à p h át triể n web trong những năm naỵ

Nếu b ạ n đã làm việc với Jav aS crip t trước đĩ, m ột tro n g những th ay đổi đầu tiê n m à b ạn sẽ chú ý là việc thêm các kiểu dữ liệu và ngơn ngữ. Các kiểu dữ liệu cho phép bạn giới h ạn các dãy giá trị và một biến cĩ th ể chứa hoặc m ột hàm cĩ th ể trả về. Chúng ta cĩ th ể chỉnh sửa hàm ađ_two( ) m à chúng ta đã định nghĩa trước đĩ trong chương này với cú pháp Ja v a S c rip t 2.0 sử dụng t ấ t cả dữ liệu cho t ấ t cả biến, th am số của nĩ, và chính hàm :

function ađ_two(x : Number, y : Number) : Number {

if (X > 7) { X = X - 7; } else { X = X + 7; } if (y > 18) { y = y -1 8 ; } else { y = y + 18; } return X + y; }

Chương 2: Học những điểm cơ bản về JavaScript 69

Sau khi chúng ta đã thêm kiểu dữ liệu N um ber vào các th a m số X và y, Jav a S c rip t sẽ báo cáo một lỗi nếu cị một giá trị nào đĩ ngoại trừ m ột số được chuyển. Những nhà p h át triể n khác cũng th ấ y rõ rà n g hơn những kiểu dữ liệu nào mà chúng ta mong đợi cho từ ng th a m sơ'.

Sử dụng các tham số tùy chọn được đặt tên

Mơt th a v đổi kháo đốì với nác cách tham số được sử dụng tro n g

Jav a S c rip t 2.0 là khả năng định nghĩa các th a m sơ' tùy chộn được đ ặ t tên . Từ khĩa nam ed cho phép chúng ta n h ậ n d ạng m ột số th a m sơ" là tùy chọn (optional) khi định nghĩa danh sách th am số của m ột hàm .

Ví dụ, chúng ta cĩ m ột hàm mong đợi tê n của m ột người được chuyển đến nĩ tro n g ba phần: function sayHello ( f ir s t : String, in itial: String, la s t : Strin g ): String { vai fullname; if (initial o ■") { initial = initial + }

fullname = iirst + " ■ + initial + last; rĩturn fúlmrre;

}

Nếu chung la định nghĩa liĩ sử dụng cú phâp trước, chúng ta khơng cĩ lựa chọn nào ngồi việc gọi nĩ bằng cách sau đây:

sayHello (“Scotr, ", ’Duffy“) ;

Nhưng b ằn g cách sử dụng modifíer n am ed trê n th a m sơ' m iđle in i­ tial, chúng ta cĩ th ể cho phép hàm được gọi khơng cĩ in itia l ở giữạ

function sayHello (firs t: String, la s t: String,

named initial: String = "“) : String { var fullname : String;

if (initial <> "") { initial = initial + }

70 Chương 2: Học những điểm cờ bản về JavaScriptfullname = first + "" + initial + last; fullname = first + "" + initial + last;

return fullname;

}

document.write (sayHello (“Scott“, "Duffy") + "<br>");

document.write (sayHello (“Bobby", "Jones", initial:"H") + "<br>");

B ằng việc định nghĩa th am số miđle in itial là n ền (được đ ặt tên ), chúng ta cĩ th ể gọi hàm sayHelloO với chỉ íĩrst nam e (tên) và la st n am e (họ) được xác định. Các th am số được đ ặt tên phải luơn xác định một in itializer phịng hờ m ột giá trị khơng được xác định cho th a m số đĩ, do đĩ m ột giá trị cĩ th ề được gán. Nếu bạn muốn cung cấp m ột giá tr ị cho một th am số được đ ậ t tên , bạn phải tham chiẽu đến th a m số đị theo tên.

Chấp nhận bất kỵ số tham sấ

Các hàm trong Jav a S c rip t 2.0 cĩ thể được định n g h ĩa sao cho chúng cĩ th ể chấp n h ậ n m ột số th am số khơng giới h ạn . B ạn muốn làm điều này khi hàm cần chấp n h ậ n một số lớn các th am số giống h ệ t như ng bạn khơng muấn tạo nhiều th a m số tùy chọn được đ ặ t tên.

Tham số cịn lại phải ln xuất hiện ở cuối b ất kỳ th a m số khơng được đ ặt tê n vổn được định n g h ĩa sử dụng ba dấu chấm (...). Các th a m sơ' được đ ặt tên, các th am số được định nghĩa sử dụng từ khĩa nam ed, vẫn cĩ th ể được liệt kê sau th am số cịn lạị Dĩ nhiên, chỉ cĩ th ể cĩ m ột tham số cịn lại trong m ột hàm .

Mã sau đây định nghĩa m ột hàm vốn cĩ th ể chấp n h ậ n m ột số th a m số khơng giới h ạn . Bốn đối số đầu tiên được chuyển sẽ được gán vào 4

th am sơ dầu tié n được đ in h nghía: đam e, a d d re ss, phoneN ürtf, và spouseNamẹ B ất kỳ đối số được chuyển qua bốn th a m số này sẽ được gán sang m ột m ảng (array) được gọi là childNam ẹ C húng ta cĩ th ể sử dụng một vịng lặp for-in để nhận được danh sách các tê n từ b iến đĩ. (Chương 4 sẽ trìn h bày chuyên sâu về các m ảng (array)).

function printform (name : string, ađress : string,

phoneNum : string, spouseName : string, ... childName : Array) {

// An unlimited number of children can be provided with (document) {

write ("Name:" + name + '<br>");

Chương 2: Học những điểm cơ bản về JavaScript 71

Write ("Ađress: ' + aadress + "<br>*‘);

Write ("Phone: " + phoneNum + "<br>");

for (Child in childName) {

Write ("Child " + childNameỊchild] + “<br>")¡

} }

return;

}

Trong chương tiếp theo, chúng ta sẽ tập tru n g vào một số tín h năng m ạnh n h ấ t của JavaScript - các đối tượng và hàm cài sẵn của nĩ.

Một phần của tài liệu Ebook hướng dẫn tự học ngôn ngữ lập trình javarscript phần 1 ths nguyễn nam thuận (Trang 64 - 68)

Tải bản đầy đủ (PDF)

(163 trang)