bài 4: lập trình hướng đối tượng và mô hình bom - giáo trình fpt
DESCRIPTION
Phương thức lập trình Phương thức lập trình hướng đối tượng Khái niệm đối tượng, thuộc tính và phương thức Tạo đối tượng Thêm thuộc tính và phương thức vào đối tượng Khái niệm về lớp Định nghĩa lớp, tạo đối tượng từ lớp Các thao tác với đối tượng trong lớp Browser Object Model Mục tiêu bài học Phương thức lập trình Phương thức lập trình hướng đối tượng Khái niệm đối tượng, thuộc tính và phương thức Tạo đối tượng Thêm thuộc tính và phương thức vào đối tượng Khái niệm về lớp Định nghĩa lớp, tạo đối tượng từ lớp Các thao tác với đối tượng trong lớp Browser Object ModelTRANSCRIPT
![Page 1: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/1.jpg)
Bài 4:Lập trình hướng đối tượng và mô hình BOM
![Page 2: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/2.jpg)
Cấu trúc điều khiểnCấu trúc lựa chọn
Lệnh lựa chọn đơnLệnh lựa chọn képLệnh đa lựa chọn
Cấu trúc lặpLặp không biết trước số lần lặpLặp biết trước số lần lặp
Hàm
Hệ thống bài cũ
Cấu trúc điều khiểnCấu trúc lựa chọn
Lệnh lựa chọn đơnLệnh lựa chọn képLệnh đa lựa chọn
Cấu trúc lặpLặp không biết trước số lần lặpLặp biết trước số lần lặp
Hàm
Lập trình hướng đối tượng và mô hình DOM 2
![Page 3: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/3.jpg)
Phương thức lập trìnhPhương thức lập trình hướng đối tượng
Khái niệm đối tượng, thuộc tính và phương thứcTạo đối tượngThêm thuộc tính và phương thức vào đối tượng
Khái niệm về lớpĐịnh nghĩa lớp, tạo đối tượng từ lớpCác thao tác với đối tượng trong lớp
Browser Object Model
Mục tiêu bài học
Phương thức lập trìnhPhương thức lập trình hướng đối tượng
Khái niệm đối tượng, thuộc tính và phương thứcTạo đối tượngThêm thuộc tính và phương thức vào đối tượng
Khái niệm về lớpĐịnh nghĩa lớp, tạo đối tượng từ lớpCác thao tác với đối tượng trong lớp
Browser Object Model
Lập trình hướng đối tượng và mô hình DOM 3
![Page 4: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/4.jpg)
PHƯƠNG THỨCLẬP TRÌNH
Lập trình hướng đối tượng và mô hình DOM 4
PHƯƠNG THỨCLẬP TRÌNH
![Page 5: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/5.jpg)
Lập trình là để giải quyết các vấn đề trong cuộc sốngBài toán tính toán phức tạp: Lập trình cho tên lửa bay vào vũ trụBài toán logic: Đưa ra quyết định (dự báo thời tiết)Bài toán quản lý trong các doanh nghiệp (phần mềm tính lương)
Phương thức lập trình (programing paradigm) đặc tả cáchthức giải quyết vấn đề
Phương thức lập trình
Lập trình là để giải quyết các vấn đề trong cuộc sốngBài toán tính toán phức tạp: Lập trình cho tên lửa bay vào vũ trụBài toán logic: Đưa ra quyết định (dự báo thời tiết)Bài toán quản lý trong các doanh nghiệp (phần mềm tính lương)
Phương thức lập trình (programing paradigm) đặc tả cáchthức giải quyết vấn đề
Lập trình hướng đối tượng và mô hình DOM 5
![Page 6: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/6.jpg)
Có hơn 25 phương thức lập trìnhMỗi phương thức lập trình giải quyết cho một vấn đềMột số phương thức khó đi vào thực tiễn lập trìnhMột số phương thức lập trình chỉ được hưởng ứng bởi mộtnhóm người hay trong một thời gian ngắn
Những phương thức lập trình phổ biến:lập trình hướng sự kiệnlập trình hướng thành phầnlập trình cấu trúclập trình hướng đối tượng
Phương thức lập trình hướng đối tượng được phát triểnrộng rãi hơn cả
phương thức lập trình
Có hơn 25 phương thức lập trìnhMỗi phương thức lập trình giải quyết cho một vấn đềMột số phương thức khó đi vào thực tiễn lập trìnhMột số phương thức lập trình chỉ được hưởng ứng bởi mộtnhóm người hay trong một thời gian ngắn
Những phương thức lập trình phổ biến:lập trình hướng sự kiệnlập trình hướng thành phầnlập trình cấu trúclập trình hướng đối tượng
Phương thức lập trình hướng đối tượng được phát triểnrộng rãi hơn cả
Lập trình hướng đối tượng và mô hình DOM 6
![Page 7: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/7.jpg)
PHƯƠNG THỨC LẬP TRÌNHHƯỚNG ĐỐI TƯỢNG
Lập trình hướng đối tượng và mô hình DOM 7
PHƯƠNG THỨC LẬP TRÌNHHƯỚNG ĐỐI TƯỢNG
![Page 8: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/8.jpg)
Đối tượng là tất cả mọi thứ trong cuộc sống (các đồ vật, sựvật)
Quả bóng, cái bàn, ô tô, bông hoa, con người, nhà máy…
Mỗi đối tượng có đặc tính và hành động riêngÝ tưởng chủ đạo của phương thức lập trình hướng đối tượng:Mô phỏng cuộc sống thực trong lập trình
Trong cuộc sống có những đối tượng như quả bóng, cái bàn…với các đặc tính và hành động riêng thì trong lập trình mô phỏngcác đối tượng đó với các đặc tính và hành động như thế
Lập trình hướng đối tượng
Đối tượng là tất cả mọi thứ trong cuộc sống (các đồ vật, sựvật)
Quả bóng, cái bàn, ô tô, bông hoa, con người, nhà máy…
Mỗi đối tượng có đặc tính và hành động riêngÝ tưởng chủ đạo của phương thức lập trình hướng đối tượng:Mô phỏng cuộc sống thực trong lập trình
Trong cuộc sống có những đối tượng như quả bóng, cái bàn…với các đặc tính và hành động riêng thì trong lập trình mô phỏngcác đối tượng đó với các đặc tính và hành động như thế
Lập trình hướng đối tượng và mô hình DOM 8
![Page 9: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/9.jpg)
Mèo có những đặc tính:Màu lông: tam thểNặng: 2kgMóng: sắc
Mèo có những hành động:Bắt chuộtLiếm lông
Trong lập trình: đặc tính được gọi là thuộc tính, hànhđộng được gọi là phương thức
Thuộc tính và phương thức của đối tượng
Voi có những đặc tính:Màu da: nâuNặng: 2 tấnVòi: 1m
Voi có những hành động:Phun nướcĂn cỏ
Mèo có những đặc tính:Màu lông: tam thểNặng: 2kgMóng: sắc
Mèo có những hành động:Bắt chuộtLiếm lông
Trong lập trình: đặc tính được gọi là thuộc tính, hànhđộng được gọi là phương thức
Lập trình hướng đối tượng và mô hình DOM 9
Voi có những đặc tính:Màu da: nâuNặng: 2 tấnVòi: 1m
Voi có những hành động:Phun nướcĂn cỏ
![Page 10: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/10.jpg)
Các đối tượng có cùng thuộc tính và phương thức được gom lạithành một lớpHay: Lớp định nghĩa tập hợp các đối tượng có cùng thuộc tínhvà phương thức
Lớp
Lập trình hướng đối tượng và mô hình DOM 10
![Page 11: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/11.jpg)
Sử dụng từ khóa new
Tạo đối tượng
var meo = new Objectvar hoa = new Object
var tendoituong = new Object
Lập trình hướng đối tượng và mô hình DOM 11
var meo = new Objectvar hoa = new Object
![Page 12: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/12.jpg)
Thêm thuộc tính cho đối tượng
Truy cập đến thuộc tính của đối tượng
Thêm và truy cập đến thuộc tính
hoaDao.mau = "Hong"hoaDao.soCanh = "5"
tendoituong.tenthuoctinh = giatriThêm thuộc tính cho đối tượng
Truy cập đến thuộc tính của đối tượng
Lập trình hướng đối tượng và mô hình DOM 12
alert(hoaDao.mau)alert(hoaDao.soCanh)
tendoituong.tenthuoctinh
![Page 13: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/13.jpg)
Thêm phương thức
Gọi phương thức
Thêm và gọi phương thức
tendoituong.tenphuongthuc = function(){//Viết mã cho phương thức ở đây
}hoaDao.toaHuong= function () {
alert("Toi co mau Hong, toi dang toa huong");}
Thêm phương thức
Gọi phương thức
Lập trình hướng đối tượng và mô hình DOM 13
hoaDao.toaHuong();
hoaDao.toaHuong= function () {alert("Toi co mau Hong, toi dang toa huong");
}
tendoituong.tenphuongthuc()
![Page 14: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/14.jpg)
Vấn đề nảy sinh: Giả sử trong vườn có nhiều loại hoa, mỗiloại hoa có màu sắc, số cánh khác nhau
Tạo một khuôn mẫu chung (lớp)
Tạo một khuôn mẫu cho đối tượng
var hoaDao = new ObjecthoaDao.mau = " Hong"hoaDao.soCanh = "5"hoaDao.toaHuong= function () {
alert("Toi co mau Hong, toi dangtoa huong!");}var hoaHong = new ObjecthoaHong.mau = " Do"hoaHong.soCanh = " 10"hoaHong.toaHuong= function () {
alert("Toi co mau Do, toi dangtoa huong!");}
var hoaCuc = new ObjecthoaCuc.mau = " Vang"hoaCuc.soCanh = " 20"hoaCuc.toaHuong= function () {
alert("Toi co mau vang, toi dangtoa huong!");}var hoaLan = new ObjecthoaLan.mau = "Tim"hoaLan.soCanh = "3"hoaLan.toaHuong= function () {
alert("Toi co mau tim, toi dangtoa huong!");}
Vấn đề nảy sinh: Giả sử trong vườn có nhiều loại hoa, mỗiloại hoa có màu sắc, số cánh khác nhau
Tạo một khuôn mẫu chung (lớp)Lập trình hướng đối tượng và mô hình DOM 14
var hoaDao = new ObjecthoaDao.mau = " Hong"hoaDao.soCanh = "5"hoaDao.toaHuong= function () {
alert("Toi co mau Hong, toi dangtoa huong!");}var hoaHong = new ObjecthoaHong.mau = " Do"hoaHong.soCanh = " 10"hoaHong.toaHuong= function () {
alert("Toi co mau Do, toi dangtoa huong!");}
var hoaCuc = new ObjecthoaCuc.mau = " Vang"hoaCuc.soCanh = " 20"hoaCuc.toaHuong= function () {
alert("Toi co mau vang, toi dangtoa huong!");}var hoaLan = new ObjecthoaLan.mau = "Tim"hoaLan.soCanh = "3"hoaLan.toaHuong= function () {
alert("Toi co mau tim, toi dangtoa huong!");}
![Page 15: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/15.jpg)
Định nghĩa lớp
Định nghĩakhuôn mẫu (lớp) cho đối tượng
function tenlop (tenbien1, tenbien2…){tenthuoctinh1 = tenbien1;tenthuoctinh2 = tenbien2;
tenphuongthuc = function(){//Viết mã cho phương thức ở đây
}}
Lập trình hướng đối tượng và mô hình DOM 15
function Hoa(mauHoa, soCanhHoa){this.mau = mauHoa;this.soCanh = soCanhHoa;this.toaHuong = function(){
alert("toi co mau " + this.mau + ", toi dang toahuong");
}}
function tenlop (tenbien1, tenbien2…){tenthuoctinh1 = tenbien1;tenthuoctinh2 = tenbien2;
tenphuongthuc = function(){//Viết mã cho phương thức ở đây
}}
![Page 16: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/16.jpg)
Tạo đối tượng
Truy cập đến thuộc tính và phương thức của đối tượng
Tạo đối tượng và sử dụng đối tượng
Hoa ["Dao"] = new Hoa ("Hong", "5");Hoa ["Hong"] = new Hoa ("Do", "10");Hoa ["Cuc"] = new Hoa ("Vang", "20");Hoa ["Lan"] = new Hoa ("Tim", "3");
tenlop["tendoituong"] = new tenlop (giatri1, giatri2…)Tạo đối tượng
Truy cập đến thuộc tính và phương thức của đối tượng
Lập trình hướng đối tượng và mô hình DOM 16
Hoa ["Dao"].toaHuong()Hoa ["Hong"].toaHuong()Hoa ["Cuc"].toaHuong()Hoa ["Lan"].toaHuong()
tenlop["tendoituong"].tenthuoctinhtenlop["tendoituong"].tenphuongthuc
![Page 17: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/17.jpg)
Lặp qua các đối tượng
Tìm một đối tượng trong thuộc lớp
Thêm thuộc tính cho đối tượng thuộc lớp
Thao tác với đối tượng trong Lớp
for (var x in Hoa) {Hoa[x].toaHuong();
}
if ("Dao" in Hoa) {alert(" Doi tuong Dao da duoc tao");
} else {alert(" Đối tượng Dao chua duoc tao");
}
Lặp qua các đối tượng
Tìm một đối tượng trong thuộc lớp
Thêm thuộc tính cho đối tượng thuộc lớp
Lập trình hướng đối tượng và mô hình DOM 17
if ("Dao" in Hoa) {alert(" Doi tuong Dao da duoc tao");
} else {alert(" Đối tượng Dao chua duoc tao");
}
if ("Dao" in Hoa) {Hoa["Dao"].bieuTuong = "Mua Xuan"
}alert("Hoa dao bieu tuong cho " + Hoa["Dao"].bieuTuong);
![Page 18: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/18.jpg)
Lập trình hướng đối tượng và mô hình DOM 18
Browser Object Model
![Page 19: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/19.jpg)
Browser Object Model là một hệ thống phân cấp hình câygồm các đối tượng
Các đối tượng cung cấp thuộc tính và phương thức cho lậptrình viên JavaScriptĐối với mỗi đối tượng, mỗi trình duyệt hỗ trợ các thuộc tínhvà phương thức khác nhau
Hiểu môi trường mà trình duyệt cung cấp để viết mã JavaScriptchạy ổn định trên nhiều trình duyệt
Browser Object Model(Mô hình đối tượng trình duyệt)
windowwindow
documentdocument framesframes historyhistory locationlocation navigatornavigator screenscreendocument history location navigator screen
window
trình duyệt(browser)
Browser Object Model là một hệ thống phân cấp hình câygồm các đối tượng
Các đối tượng cung cấp thuộc tính và phương thức cho lậptrình viên JavaScriptĐối với mỗi đối tượng, mỗi trình duyệt hỗ trợ các thuộc tínhvà phương thức khác nhau
Hiểu môi trường mà trình duyệt cung cấp để viết mã JavaScriptchạy ổn định trên nhiều trình duyệt
Lập trình hướng đối tượng và mô hình DOM 19
document frames history location navigator screendocument screen
![Page 20: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/20.jpg)
Window là đối tượng thể hiển cửa số hiển thị hiện tại trêntrình duyệtMột số phương thức của đối tượng window đã được sử dụng:alert(), prompt(), confirm()Các thuộc tính và phương thức của window có thể gọi trựctiếp hoặc thông qua window
Đối tượng Window
Lập trình hướng đối tượng và mô hình DOM 20
alert("Hi")hoặcwindow.alert("Hi")
![Page 21: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/21.jpg)
Thuộc tính Giải thích
Có giá trị là True khi cửa sổ được đóng
Thiết lập văn bản mặc định trên thanh trạng thái của trình duyệt
Thiết lập hoặc trả về tên của cửa sổTham chiếu đến cửa sổ tạo ra cửa sổ hiện tại
Dùng để thiết lập văn bản trên thanh trạng thái khi người dùngdi chuột trên một thành phần trên cửa sổ (ví dụ khi người dùngdi chuột lên links)
Các thuộc tính của Window
closeddefaultStatus
nameopener
statusDùng để thiết lập văn bản trên thanh trạng thái khi người dùngdi chuột trên một thành phần trên cửa sổ (ví dụ khi người dùngdi chuột lên links)
Thiết lập hoặc trả về chiều cao phần nội dung của cửa sổ
Trả về đối tượng document của cửa sổ
Lập trình hướng đối tượng và mô hình DOM 21
Tham khảo thêm tranghttp://www.w3schools.com/jsref/obj_window.aspđể biết thêm nhiều thuộc tính khác
status
document
innerHeight
![Page 22: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/22.jpg)
FireFox hỗ trợ thuộc tính này trong khi IE không hỗtrợTham khảo trang w3school để biết được trình duyệt nào hỗtrợ phương thức và thuộc tính nào
Demo sử dụng thuộc tính innerHeight
alert(window.innerHeight)
FireFox hỗ trợ thuộc tính này trong khi IE không hỗtrợTham khảo trang w3school để biết được trình duyệt nào hỗtrợ phương thức và thuộc tính nào
Lập trình hướng đối tượng và mô hình DOM 22
![Page 23: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/23.jpg)
Đối với IE, để hiển thị Status bar phải chọn “Status bar”
Phiên bản 8 của Firefox không hỗ trợ default statusbar
Demo sử dụng thuộc tính defaultStatus
window.defaultStatus= "JavaScript - Bai 4"
ChọnStatus bar
Đối với IE, để hiển thị Status bar phải chọn “Status bar”
Phiên bản 8 của Firefox không hỗ trợ default statusbar
Lập trình hướng đối tượng và mô hình DOM 23
Status bar
![Page 24: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/24.jpg)
Các phương thức của Window
Phương thức Giải thích
focus() Chuyển focus đến cửa sổblur() Bỏ focus đến cửa sổclose() Đóng cửa sổopen() Mở cửa sổprint() Thực hiện chức năng in
Lập trình hướng đối tượng và mô hình DOM 24
print() Thực hiện chức năng in
moveTo() Sử dụng để chuyển cửa sổ về vị trí xác định
resizeTo() Sử dụng để thay đổi kích thước cửa cửa sổ về vị trí xác định
Tham khảo thêm tranghttp://www.w3schools.com/jsref/obj_window.aspđể biết thêm nhiều phương thức khác
![Page 25: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/25.jpg)
Sử dụng để mở một cửa sổ từ cửa sổ hiện thời
url: url của trang webten: tên của cửa sổ sẽ mởdactinh: các đặc tính mà cửa sổ được mở sẽ có (mỗi trình duyệtsẽ hỗ trợ một tập các đặc tính riêng)
window.open
window.open(url, ten, dactinh)
window.open("http://www.google.com.vn/", "timkiem","menubar = yes, width = 800, height = 600")
Sử dụng để mở một cửa sổ từ cửa sổ hiện thời
url: url của trang webten: tên của cửa sổ sẽ mởdactinh: các đặc tính mà cửa sổ được mở sẽ có (mỗi trình duyệtsẽ hỗ trợ một tập các đặc tính riêng)
Lập trình hướng đối tượng và mô hình DOM 25
window.open("http://www.google.com.vn/", "timkiem","menubar = yes, width = 800, height = 600")
Chú ý:- Chỉ nên sử dụng cách này khi thật cần thiết vìtrình duyệt có thể bị disable javascript- Có thể sử dụng thẻ <a> để thay thế
![Page 26: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/26.jpg)
Mỗi người truy cập sử dụng màn hình có độ phân giải khácnhau, kích thước khác nhau, dải màu khác nhau… Người lập trình phải nắm được thông tin này để hiển thị ảnhphù hợp, hiển thị trang web có kích thước phù hợp…
Đối tượng screen cung cấp thuộc tính để lấy thông tin vềmàn hình của người truy cập
Đối tượng Screen
Lập trình hướng đối tượng và mô hình DOM 26
Thuộc tính Giải thích
availHeight Trả về chiểu dài của màn hình (trừ kích thước của window taskbar)
availWidth Trả về chiều rộng của màn hình (trừ kích thước của windowtaskbar)
height Trả về chiều dài của màn hình
with Trả về chiểu rộng của màn hình
pixelDepth Trả về độ phân giải của màn hình
colorDepth Trả về bảng màu để hiển thị ảnh
![Page 27: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/27.jpg)
Demo xác định chiều dài vàchiều rộng của màn hình người truy cập
alert("Chieu cao con lai la: " + screen.availHeight);alert("Tong so chieu cao la: " + screen.height);alert("Bang mau la: " + screen.colorDepth);
Lập trình hướng đối tượng và mô hình DOM 27
![Page 28: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/28.jpg)
Mỗi trình duyệt có cách thức thi hành mã JavaScript riêngCó thể cùng thực hiện một chức năng, nhưng đối với từngtrình duyệt, cần phải viết các đoạn mã khác nhau Cần biết thông tin về trình duyệt để viết mã JavaScriptphù hợpĐối tượng Navigator cung cấp các thông tin về trình duyệt
Đối tượng Navigator
Lập trình hướng đối tượng và mô hình DOM 28
![Page 29: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/29.jpg)
Các phương thứcvà thuộc tính của Navigator
Thuộc tính Giải thích
appCodeName Trả về mã của trình duyệt
appName Trả về tên của trình duyệt
appVersion Trả về phiên bản của trình duyệt
cookieEnabled Xác định xem Cookie có được bật hay không
platform Trả về nền tảng mà trình duyệt được biên dịch
Lập trình hướng đối tượng và mô hình DOM 29
platform Trả về nền tảng mà trình duyệt được biên dịch
Phương thức Giải thích
javaEnabled() Xác định xem trình duyệt có kích hoạt Java hay không
Tham khảo thêm tranghttp://www.w3schools.com/jsref/obj_navigator.aspđể biết thêm nhiều phương thức khác
![Page 30: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/30.jpg)
Demo sử dụngNavigator để lấy thông tin trình duyệt
document.write("appCodeName: " + navigator.appCodeName + "<br>");document.write("appName: " + navigator.appName +"<br>");document.write("version: " + navigator.version + "<br>");document.write("cookieEnabled: " + navigator.cookieEnabled);
Lập trình hướng đối tượng và mô hình DOM 30
![Page 31: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/31.jpg)
Chứa thông tin về URL hiện tại
Đối tượng Location
Thuộc tính Giải thích
host Trả về tên host và cổng của URL
hostname Trả về tên host
href Trả về toàn bộ URL
pathname Trả về tên đường dẫn của URL
Lập trình hướng đối tượng và mô hình DOM 31
pathname Trả về tên đường dẫn của URL
port Trả về cổng mà server sử dụng cho URL
protocol Trả về protocol của URL
Phươngthức
Giải thích
assign() Load document mới
reload() Load lại document hiện tại
![Page 32: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/32.jpg)
Demo hiển thị thông tin của URL
document.write("host: " + location.host + "<br>");document.write("hostname: " + location.hostname + "<br>");document.write("href: " + location.href + "<br>");document.write("pathname: " + location.pathname + "<br>");document.write("port: " + location.port + "<br>");document.write("protocol: " + location.protocol + "<br>");
Lập trình hướng đối tượng và mô hình DOM 32
![Page 33: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/33.jpg)
Vào trang http://www.braingia.org/location.html
Demo hiển thị thông tin của URL
Lập trình hướng đối tượng và mô hình DOM 33
![Page 34: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/34.jpg)
Demo sử dụng location để mở URL mới
<html ><head><script type="text/javascript">
function newDoc() {window.location.assign("http://www.w3schools.com")
}</script></head><body><input type="button" value="Load new document"onclick="newDoc()" /></body></html>
Lập trình hướng đối tượng và mô hình DOM 34
<html ><head><script type="text/javascript">
function newDoc() {window.location.assign("http://www.w3schools.com")
}</script></head><body><input type="button" value="Load new document"onclick="newDoc()" /></body></html>
![Page 35: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/35.jpg)
Chứa thông tin về các URL được người dùng truy cập
Đối tượng History
Thuộc tính Giải thích
length Trả về số lượng URL trong danh sách History
Lập trình hướng đối tượng và mô hình DOM 35
Phươngthức
Giải thích
back() Load URL trước đó trong danh sách History
forward() Load URL sau đó trong danh sách History
go() Load URL cụ thể từ History
![Page 36: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/36.jpg)
Định nghĩa hàm trong thẻ JavaScript
Gọi hàm
Xem mã trong thư mục “Vi du History Object”
Demo sử dụng History
function goBack() {history.back();
}
function goNext() {history.forward();
}
Định nghĩa hàm trong thẻ JavaScript
Gọi hàm
Xem mã trong thư mục “Vi du History Object”
Lập trình hướng đối tượng và mô hình DOM 36
function goBack() {history.back();
}
function goNext() {history.forward();
}
<p><a href = "#" onclick="goBack()">Back</a></p><p><a href = "#" onclick="goNext()">Next</a></p>
![Page 37: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/37.jpg)
Tổng kết bài học
Có rất nhiều phương thức lập trình. Mỗi phương thứcphù hợp cho một mục đích riêng. phương thức lậptrình hướng đối tượng là được phát triển rộng rãinhấtMỗi đối tượng có các thuộc tính và phương thức riêngCác đối tượng có các thuộc tính và phương thức giốngnhau thuộc cùng một lớpBrowser Object Module là tập hợp các đối tượngđược xây dựng sẵn giúp lập trình viên thao tác với trìnhduyệtMỗi trình duyệt hỗ trợ mô hình BOM theo các cáchkhác nhau nên lập trình viên cần phải tìm hiểu sâu vềtrình duyệt để viết mã chạy trên nhiều trình duyệt
Có rất nhiều phương thức lập trình. Mỗi phương thứcphù hợp cho một mục đích riêng. phương thức lậptrình hướng đối tượng là được phát triển rộng rãinhấtMỗi đối tượng có các thuộc tính và phương thức riêngCác đối tượng có các thuộc tính và phương thức giốngnhau thuộc cùng một lớpBrowser Object Module là tập hợp các đối tượngđược xây dựng sẵn giúp lập trình viên thao tác với trìnhduyệtMỗi trình duyệt hỗ trợ mô hình BOM theo các cáchkhác nhau nên lập trình viên cần phải tìm hiểu sâu vềtrình duyệt để viết mã chạy trên nhiều trình duyệt
Lập trình hướng đối tượng và mô hình DOM 37
![Page 38: Bài 4: Lập trình hướng đối tượng và mô hình BOM - Giáo trình FPT](https://reader034.vdocuments.pub/reader034/viewer/2022052307/55655a5dd8b42a77078b50d7/html5/thumbnails/38.jpg)
Tổng kết bài học
Trình duyệt được biểu diễn bằng đối tượng window.Đối tượng window có các đối tượng con là document,frames, history, location, navigator, screenĐối tượng document đại diện cho nội dung trang webĐối tượng history chứa thông tin về các url được ngườidùng truy cậpĐối tượng location chứa thông tin về url hiện tạiĐối tượng navigator chứa thông tin về trình duyệtĐối tượng screen chứa thông tin về màn hình
Trình duyệt được biểu diễn bằng đối tượng window.Đối tượng window có các đối tượng con là document,frames, history, location, navigator, screenĐối tượng document đại diện cho nội dung trang webĐối tượng history chứa thông tin về các url được ngườidùng truy cậpĐối tượng location chứa thông tin về url hiện tạiĐối tượng navigator chứa thông tin về trình duyệtĐối tượng screen chứa thông tin về màn hình
Lập trình hướng đối tượng và mô hình DOM 38