Khi tạo ra một trang web chúng ta có thể sử dụng các đối tượng do trình duyệt, ngôn ngữ kịch bản và các thành phần HTML cung cấp. Trong chương này, chúng ta cùng thảo luận về những đối tượng khác nhau có thể được chèn vào trong một tài liệu HTML. Show Các đối tượng JavaScriptMột đối tượng là một gói dữ liệu toàn diện. Các thuộc tính (biến) dùng để định nghĩa đối tượng và các phương thức (hàm) tác động tới dữ liệu đều nằm trong đối tượng. Ví dụ như, một chiếc xe hơi là một đối tượng. Các thuộc tính của chiếc xe hơi là cấu tạo, kiểu dáng và màu sắc của nó. Hầu hết các chiếc xe hơi đều có một vài phương thức chung như go(), brake(), reverse().
Để truy cập các thuộc tính của đối tượng, chúng ta phải chỉ ra tên đối tượng và thuộc tính của nó:
Trong đó: Để truy cập các phương thức của một đối tượng, chúng ta phải chỉ ra tên đối tượng và phương thức yêu cầu: objectName.method() Cây phân cấp của đối tượngKhi tạo ra một trang web chúng ta có thể chèn:
Dĩ nhiên, chúng ta có thể tạo ra các đối tượng để sử dụng theo yêu cầu của mình. Cây phân cấp đối tượngKhi tài liệu HTML được hiển thị trong trình duyệt, một cây phân cấp đối tượng được tạo ra dựa trên các phần tử trong trang. Các đối tượng trình duyệt chẳng hạn như văn bản, cửa sổ, khung, vị trí, … nằm trên cùng của cây phân cấp đối tượng. Sau đó là các đối tượng JavaScript. Đây là các đối tượng được cung cấp bởi JavaScript chẳng hạn như đối tượng Date, Array, … Các phần tử HTML nằm ở sau cùng và chính là các thẻ HTML tạo nên văn bản hiện hành. Sự hiểu biết về cây phân cấp này rất quan trọng bởi vì các đối tượng được truy cập theo sự phân cấp. Ví dụ như, để truy cập một đối tượng form bạn cần phải chỉ ra tên form và đối tượng chứa trong đó như văn bản, câu lệnh sẽ là:
Để truy cập các thuộc tính của một phần tử văn bản, Text1 trong một đối tượng form:
Câu lệnh thisCâu lệnh ‘this’ không chỉ là một thuộc tính nội tại. Giá trị của nó chỉ ra đối tượng hiện hành và có thể có các thuộc tính chuẩn chẳng hạn như tên, độ dài, và giá trị được áp dụng phù hợp. Câu lệnh ‘this’ chỉ được dùng trong phạm vi của một hàm hay các tham chiếu khi gọi hàm.
Nếu nó không có đối số thì nó sẽ thông qua đối tượng hiện hành. Tuy nhiên, chúng ta nên gán vào một thuộc tính hợp lệ để đưa ra kết quả.
` carobj.model = "Uno"`0 Kết quả của ví dụ 3Câu lệnh for…inCâu lệnh for...in được dùng để lặp mỗi thuộc tính của đối tượng hoặc mỗi phần tử của một mảng. Ví dụ như, chúng ta muốn thực thi một khối các câu lệnh cho mỗi phần tử trong một mảng. ` carobj.model = "Uno"`1 ` carobj.model = "Uno"`2 Kết quả của ví dụ 4Câu lệnh withCâu lệnh with được dùng để thực thi tập hợp các lệnh mà các lệnh này dùng các phương thức của cùng một loại đối tượng. Tức là, thuộc tính được gán cho đối tượng đã được xác định trong câu lệnh with. ` carobj.model = "Uno"`3 Trong ví dụ dưới đây, đối tượng Math được xem là đối tượng mặc định. ` carobj.model = "Uno"`4 Kết quả của ví dụ 5Câu lệnh newToán tử new được dùng để tạo ra một thực thể mới của một loại đối tượng. Loại đối tượng này có thể là đối tượng sẵn có hoặc do người dùng định nghĩa. Ví dụ như đối tượng mảng. ` carobj.model = "Uno"`5 Trong đó:
Chúng ta hãy xem ví dụ dưới đây để được rõ hơn. Chúng ta có thể tạo một loại đối tượng có tên gọi là employee, các thuộc tính là name, code, designation. ` carobj.model = "Uno"`6 Để tạo ra một thực thể mới của đối tượng employee, chúng ta dùng: ` carobj.model = "Uno"`7 ` carobj.model = "Uno"`8 Kết quả của ví dụ 8Câu lệnh evalHàm eval được dùng để đánh giá một chuỗi mã lệnh mà không cần tham chiếu đến bất cứ đối tượng cụ thể nào. eval( string ) Chuỗi có thể là một biểu thức JavaScript, một câu lệnh hoặc một nhóm câu lệnh. Biểu thức có thể bao gồm nhiều biến và nhiều thuộc tính của một đối tượng. Nếu chuỗi trên là một biểu thức thì hàm eval định giá trị biểu thức đó. Nếu chuỗi đó là một hoặc nhiều câu lệnh thì hàm eval sẽ thực thi các câu lệnh. Chúng ta có thể dùng hàm eval để đưa ra kết quả. ` carobj.model = "Uno"`9 Kết quả của ví dụ 9Đối tượng StringĐối tượng string được dùng để thao tác và làm việc với chuỗi văn bản. Chúng ta có thể tách nó ra thành các chuỗi con và biến đổi chuỗi đó thành các chuỗi hoa hoặc thường trong một chương trình. Cú pháp tổng quát là: `carobj.color = "red"`0 Hoặc `carobj.color = "red"`1 Có 3 phương thức khác nhau để tạo ra chuỗi.
Các thuộc tínhTên Mô tả length Trả lại độ dài của chuỗi Phương thứcTên Mô tả Big Tăng kích thước của chuỗi văn bản Blink Tạo hiệu ứng nhấp nháy cho chuỗi (Internet Explorer không hỗ trợ phương thức này) Bold In đậm chuỗi Fontcolor Xác định màu của font chữ Italics Hiển thị chuỗi ở dạng in nghiêng Small Giảm kích thước của chuỗi văn bản Strike Hiển thị chuỗi có đường gạch ngang nằm giữa (strikethrough) Sub Hiển thị văn bản dưới dạng chỉ số dưới Sup Hiển thị văn bản dưới dạng chỉ số trên ToLowerCase Chuyển chuỗi thành ký tự thường ToUpperCase Chuyển chuỗi thành ký tự hoa Ví dụ dưới đây hiển thị một vài phương thức và công dụng của chúng: `carobj.color = "red"`5 Kết quả của ví dụ 13Đối tượng MathĐối tượng Math có các thuộc tính và phương thức biểu thị các phép tính toán học nâng cao. Thuộc tínhThuộc tính Mô tả PI Giá trị của π, bằng khoảng 3.1415. LN10 Giá trị của lg (logarit cơ số 10), bằng khoảng 2,302 E Giá trị của hằng số Euler, bằng khoảng 2.718. Hằng số Euler được dùng như số cơ sở cho các ln Phương thứcPhương thức Method Mô tả Description Abs (number) Trả về giá trị tuyệt đối của một số Sin (number) Trả về giá trị sin của của một số (tính bằng radian) Cos (number) Trả về giá trị cosin của của một số (tính bằng radian) Tan (number) Trả về giá trị tang của của một số (tính bằng radian) Min (number1, number2) Trả về giá trị nhỏ nhất của hai số number1 và number2 Max (number1, number2) Trả về giá trị lớn nhất của hai số number1 và number2 Round (number) Làm tròn đối số tới số nguyên gần nhất Sqrt (number) Trả về căn bậc hai của một số `carobj.color = "red"`6 Kết quả của ví dụ 14`carobj.color = "red"`7 Kết quả của ví dụ 15 Kết quả của ví dụ 15 (sau khi nhấn nút lệnh)Đối tượng DateDate là một đối tượng có sẵn chứa thông tin về ngày và giờ. Đối tượng Date không có thuộc tính nào. Tuy nhiên, nó có nhiều phương thức dùng để thiết lập, lấy và xử lý các thông tin về thời gian. |