JavaScript umożliwia tworzenie obiektów na kilka różnych sposobów.
Sposób 1 w pierwszej linijce tworzony jest obiekt, a następnie, są dodawane do niego właściwości. Ostatnią z dodanych właściwości jest funkcja zwracająca dwie z wcześniej podanych właściwości:
var card = {}
card.firstName = "Jan";
card.lastName = "Kowalski";
card.age = "35";
card.name = function() {
return this.firstName+" "+this.lastName;
};
Odwołując się za pomocą konsoli do card.firstName uzyskamy: „Jan”, co pokazałem w grafice na dole strony;
Sposób 2 utworzenie obiektu na bazie konstruktora:
var card2 = new Object;
card2.firstName = "Jan";
card2.lastName = "Kowalski";
card2.age = "35";
card2.name = function() {
return this.firstName+" "+this.lastName;
};
Odwołując się za pomocą konsoli do card2.lastName uzyskamy: „Kowalski”, co również widać w grafice;
Sposób 3 funkcja pozwoli utworzyć wiele obiektów konstruktorami.
function card3(_firstName, _lastName, _age) {
this.firstName = _firstName;
this.lastName = _lastName;
this.age = _age;
this.name = function() {
return this.firstName+" "+this.lastName;
};
}
var client1 = new card3('Jan', 'Kowalski', 35);
var client2 = new card3('Adam', 'Maliniak', 41);
Kolejna właściwość w tym przypadku dodawana jest do obiektu za pomocą: „prototype”
card3.prototype.language = "polski";
Odwołując się za pomocą konsoli do client1.language uzyskamy: „polski”, zobacz na grafikę;
Sposób 4, gdzie obiekt utworzony jest od razu z właściwościami. Warto zwrócić uwagę, że w stosunku do poprzednich form, znaki „=” zastąpił „:” natomiast „;” zastąpił „,”
var card4 = {
firstName: "Jan",
lastName: "Kowalski",
age: 35,
name: function() {
return this.firstName+" "+this.lastName;
}
};
Odwołując się za pomocą konsoli do card4.age uzyskamy: 35.
W opisany sposób możemy odwoływać się do poszczególnych obiektów, a dla uzyskania dostępu do funkcji jej nazwa musi być zakończona nawiasami card4.name() – również jest to widoczne poniżej.