Nh− đã nói JavaScript lμ ngôn ngữ lập trình dựa trên đối t−ợng, nh−ng không h−ớng đối t−ợng bởi vì nó không hỗ trợ các lớp cũng nh− tính thừa kế. Phần nμy nói về các đối t−ợng trong JavaScript vμ hình 6.1 chỉ ra sơ đồ phân cấp các đối t−ợng.
Trong sơ đồ phân cấp các đối t−ợng của JavaScript, các đối t−ợng con thực sự lμ các thuộc tính của các đối t−ợng bố mẹ. Trong ví dụ về ch−ơng trình xử lý sự kiện tr−ớc đây form tên PHIEU_DIEU_TRAlμ thuộc tính của đối t−ợng document vμ tr−ờng
text AGE lμ thuộc tính của form PHIEU_DIEU_TRA. Để tham chiếu đến giá trị của AGE, bạn phải sử dụng:
document.PHIEU_DIEU_TRA.AGE.value
Các đối t−ợng có thuộc tính (properties), ph−ơng thức (methods), vμ các ch−ơng trình xử lý sự kiện (event handlers) gắn với chúng. Ví dụ đối t−ợng document có thuộc tính title phản ánh nội dung của thẻ <TITLE> của document. Bên cạnh đó bạn thấy ph−ơng thức document.write đ−ợc sử dụng trong nhiều ví dụ để đ−a văn bản kết quả ra document.
Đối t−ợng cũng có thể có các ch−ơng trình xử lý sự kiện. Ví dụ đối t−ợng link có hai ch−ơng trình xử lý sự kiện lμ onClick vμ onMouseOver. onClick đ−ợc gọi khi có đối t−ợng link đ−ợc kích, onMouseOver đ−ợc gọi khi con trỏ chuột di chuyển qua link. Khi bạn tải một document xuống Navigator, nó sẽ tạo ra một số đối t−ợng cùng với những giá trị các thuộc tính của chúng dựa trên file HTML của document đó vμ một vμi thông tin cần thiết khác. Những đối t−ợng nμy tồn tại một cách có cấp bậc vμ
Sơ đồ sau sẽ minh hoạ sự phân cấp của các đối t−ợng nμy
Trong sơ đồ phân cấp nμy, các đối t−ợng con chính lμ các thuộc tính của một đối t−ợng cha. Ví dụ nh− một form tên lμ form1 chính lμ một đối t−ợng con của đối t−ợng document vμ đ−ợc gọi tới lμdocument.form1
Tất cả các trang đều có các đối t−ợng sau đây:
• navigator: có các thuộc tính tên vμ phiên bản của Navigator đang đ−ợc sử dụng, dùng cho MIME type đ−ợc hỗ trợ bởi client vμ plug-in đ−ợc cμi đặt trên client.
• window: lμ đối t−ợng ở mức cao nhất, có các thuộc tính thực hiện áp dụng vμo toμn bộ cửa sổ.
• document: chứa các thuộc tính dựa trên nội dung của document nh−
tên, mμu nền, các kết nối vμ các forms.
• location: có các thuộc tính dựa trên địa chỉ URL hiện thời
Window Texturea Text FileUpload Password Hidden Submit Reset Radio Checkbox Button Select Plugin Mime Type Frame document Location History Layer Link Image Area Anchor Applet Plugin Form navigator Option
• history: Chứa các thuộc tính về các URL mμ client yêu cầu tr−ớc đó. Sau đây sẽ mô tả các thuộc tính, ph−ơng thức cũng nh− các ch−ơng trình xử lý sự kiện cho từng đối t−ợng trong JavaScript.
Đối t−ợng navigator
Đối t−ợng nμy đ−ợc sử dụng để đạt đ−ợc các thông tin về trình duyệt nh− số phiên bản. Đối t−ợng nμy không có ph−ơng thức hay ch−ơng trình xử lý sự kiện.
Các thuộc tính
appCodeName Xác định tên mã nội tại của trình duyệt (Atlas).
AppName Xác định tên trình duyệt.
AppVersion Xác định thông tin về phiên bản của đối t−ợng navigator.
userAgent
Xác định header của user - agent.
Ví dụ
Ví dụ sau sẽ hiển thị các thuộc tính của đối t−ợng navigator
<HTML> <HEAD>
<TITLE> Navigator Object Exemple </TITLE> <SCRIPT LANGUAGE= "JavaScript">
document.write("appCodeName = "+navigator.appCodeName + "<BR>"); document.write("appName = "+navigator.appName + "<BR>"); document.write("appVersion = "+navigator.appVersion + "<BR>"); document.write("userAgent = "+navigator.userAgent + "<BR>"); </SCRIPT> </HEAD> <BODY> </BODY> </HTML>