Cái lợi của nó ở đây sẽ là:
- Code rõ ràng hơn rất nhiều.
- Maintaince dễ hơn.
- Code có cấu trúc hơn, dễ đọc hơn.
- Và cuối cùng sẽ dễ dàng hơn cho những người muốn chuyển từ các ngôn ngữ như Java, C++ sang Javascript
//hàm khởi tạo
function Classname(){
//Khai báo các biến private
var var1 = value;
var var2 = value;
//khai báo các biến public
this.var3 = value;
this.var4 = value;
//Khai báo các hàm private
function method1(){
}
}
//Nếu Class này kế thừa một class khác thì dùng phần này
Classname.prototype = new ParentClass();
Classname.prototype.constructor = Classname;
//Khai báo thêm các biến public ở đây
Classname.prototype.var5 = value;
//Khai báo hàm public như này
Classname.prototype.method2 = function(){
}
//Khai báo hàm static và biến static như này:
Classname.var6 = value;
Classname.method = function(){
}
Và đây là bộ quy tắc:
- Biến private chỉ có thể truy cập bằng hàm private và hàm privileged
- Biến public có thể truy cập từ trong và ngoài của Object.
- Biến và hàm static có thể sử dụng mà không cần khởi tạo Object
- Một properties nếu được khai báo là một prototype thì có thể bị ghi đè.
- Nếu khai báo một biến hoặc hàm với từ khoá var nằm độc lập (không nằm trong hàm nào của Class) thì nó sẽ được coi là một biến hoặc hàm Global.
- Từ khoá this:
- Nếu khi khởi tạo đối tượng ta dùng từ khoá new, thì this sẽ là đối tượng đó.
- Nếu không có từ khoá new thì this sẽ là một global object
- Tốt nhất là nên có new nếu không thì sẽ chịu hậu quả khó lường khi dùng this
- Một nguyên tắc khi truy câp các dạng biến (cái này cho java, không phải cho javascript tuy nhiên có thể áp dụng được):
Modifier | Class | Package | Subclass | World ————————————+———————+—————————+——————————+——————— public | ✔ | ✔ | ✔ | ✔ ————————————+———————+—————————+——————————+——————— protected | ✔ | ✔ | ✔ | ✘ ————————————+———————+—————————+——————————+——————— no modifier | ✔ | ✔ | ✘ | ✘ ————————————+———————+—————————+——————————+——————— private | ✔ | ✘ | ✘ | ✘
- Unconfirm: nếu một biến là undefine thì trong các phép toán boolean nó sẽ có giá trị là false.
Không có nhận xét nào:
Đăng nhận xét