7 cách để tạo các đối tượng trong JavaScript:
1. Object constructor
Cách đơn giản nhất để tạo ra một đối tượng là sử dụng các nhà xây dựng Object: view plainprint?
var person = new Object();
person.name = "Diego";
person.getName = function(){
return this.name;
};
2. Literal ký hiệu
view plainprint?
var person = {
person.name : "Diego",
person.getName : function(){
return this.name;
}
}
3. chức năng Factory
Chức năng Factory cho phép để đóng gói và tái sử dụng logic để tạo các đối tượng tương tự. Nó thúc đẩy bất kỳ cấu trúc nào trước đây cho điều này. Hoặc: xem dấu vân tay?
var newPerson=function(name){
var result = new Object();
result.name = name;
result.getName = function(){
return this.name;
};
return result;
};
var personOne = newPerson("Diego");
var personTwo = newPerson("Gangelo");
console.log(personOne.getName()); // prints Diego
console.log(personTwo.getName()); // prints Gangelo
Hoặc:
view plainprint?
var newPerson=function(name){
return {
person.name : name,
person.getName : function(){
return this.name;
};
};
var personOne = newPerson("Diego");
var personTwo = newPerson("Gangelo");
console.log(personOne.getName()); // prints Diego
console.log(personTwo.getName()); // prints Gangelo
4. Chức năng Constructor
Trong Javascript có thể gọi bất kỳ chức năng với các nhà điều hành mới ở phía trước của nó. Cho hàm F, cho F mới(): một đối tượng trống X mới được tạo. X được đặt làm ngữ cảnh cho ý nghĩa F trong suốt F, điểm này thành X. X được trả lại là kết quả của F xem dấu vân tay?
function Person(name){
this.name = name;
this.getName = function(){
return this.name;
};
};
var personOne = new Person("Diego");
console.log(personOne.getName()); // prints Diego
console.log(personOne instanceOf Person); // prints true
console.log(personOne.constructor === Person); // prints true
console.log(personOne instanceOf Object); // prints true
5. Nguyên mẫu
Chức năng rất đặc biệt trong Javascript. Chúng là các đối tượng, chúng có thể tạo ra các đối tượng khác và chúng tự động nhận được một trường được gọi là prototype. Một nguyên mẫu là một đối tượng đơn giản với một trường duy nhất, được gọi là hàm tạo, trỏ đến chính hàm đó. Điều gì làm cho nó đặc biệt là mọi đối tượng được tạo ra thông qua một hàm kế thừa nguyên mẫu của hàm. xem dấu vân tay?
function Person(){};
Person.prototype.name = "Diego";
var personOne = new Person();
var personTwo = new Person();
console.log(personOne.constructor == Person); // prints true
console.log(personOne.name); // prints Diego
console.log(personTwo.constructor == Person); // prints true
console.log(personTwo.name); // prints Diego
6. Chức năng/Prototype kết hợp
Chức năng/mẫu kết hợp, bạn sẽ tưởng tượng, lợi dụng cả hai phương pháp tiếp cận :) view plainprint?
function Person(name){
this.name = name;
};
Person.prototype.getName = function(){
return this.name;
};
var personOne = new Person("Diego");
var personTwo = new Person("Filippo");
console.log(personOne.getName()); // prints Diego
console.log(personTwo.getName()); // prints Filippo
console.log(personOne.getName === personTwo.getName) //prints true
7. Singleton
Đôi khi, bạn có thể muốn chắc chắn rằng chỉ có một trường hợp duy nhất của một lớp nào đó tồn tại. Để có được Singleton trong Javascript cũng đơn giản như xác định và gọi hàm tạo cùng một lúc: xem dấu vân tay?
var singleton = new function(){
this.name = "ApplicationName";
};
Trong phương pháp tiếp cận 2 từ khóa 'mới' không nên ở đó. – Halcyon
@FritsvanCampen - Có. Điều này tạo ra một đối tượng mới từ hàm khởi tạo (ẩn danh). –
nếu từ khóa 'mới' không có, nó sẽ là một lớp. – macool