Syntax
jmeno_objektu = new typ_objektu ( param1 [,param2] ...[,paramN] )
Popis
Príkaz jazyka JavaScript
Operator, ktery vytvori novou instanci uzivatelem definovaneho objektoveho typu.
Vytvoreni objektu vyzaduje dva kroky:
1. Definovani objektoveho typu napsanim funkce.
2. Vytvoreni instance objektu pomoci operatoru new.
Pro definovani objektoveho typu vytvorte funkci, ktera specifikuje jeho jmeno, vlastnosti a metody. Objekt muze mit vlastnost, ktera je jimym objektem. Koukni se na priklad uvedeny nize.
Do drive definovaneho objektoveho typu muzete kdykoliv pridat vlastnosti. Napriklad, prikaz car1.color = "black" pripojuje vlastnost color do objektu car1, a nastavi jeho hodnotu na "black". Nicmene, nema to vliv na jine objekty. K pridani vlastnosti vsem objektum stejneho typu, musite pridat tuto vlastnost do definice objektoveho typu car.
- jmeno_objektu je jmeno nove instance objektu.
- typ_objektu je objektovy typ. Musi to byt funkce, ktera definuje objektovy typ.
- param1...paramN jsou hodnoty vlastnosti vytvareneho objektu. Tyto vlastnosti jsou parametry definovane pro funkci typ_objektu.
Príklady
Priklad 1: objektovy typ a instance objektu.Predpokladejme, ze chcete vytvorit objektovy typ pro auta. Chcete, aby se jmenoval car a mel vlastnosti make, model, year a color. Musite proto napsat nasledujici funkci:
function car
(make, model, year
) {
this.make = make
this.model = model
this.year = year
}
//Nyni muzete vytvorit objekt nazvany mycar:
mycar =
new car
("Eagle",
"Talon TSi", 1993
)
//Tento prikaz vytvori mycar a priradi jeho vlastnostem specifikovane hodnoty. Potom je tedy hodnota mycar.make retezec "Eagle", mycar.year cele cislo 1993, atd.
//Objektu daneho typu muzete vytvorit libovolny pocet. Napriklad,
kenscar =
new car
("Nissan",
"300ZX", 1992
)
vlastnost objektu, ktera je take objektem. Predpokladejme, ze mate definovany objekt person takto:
function person
(name, age, sex
) {
this.name = name
this.age = age
this.sex = sex
}
//A pak vytvorite dva objekty person takto:
rand =
new person
("Rand McNally", 33,
"M")
ken =
new person
("Ken Jones", 39,
"M")
//Potom muzete prepsat definici car tak, aby obsahovala vlastnost owner, ktera je objektem person, takto:
function car
(make, model, year, owner
) {
this.make = make;
this.model = model;
this.year = year;
this.owner = owner;
}
//Nasledne muzete vytvorit novy objekt:
car1 =
new car
("Eagle",
"Talon TSi", 1993, rand
);
car2 =
new car
("Nissan",
"300ZX", 1992, ken
)
//Misto predavani retezcu a cisel pri vytvareni objetku, tento prikaz predava primo objekty rand a ken jako parametry pro vlastnost owner. Pro ziskani jmena majitele u car2 napisete:
car2.owner.name
zdroj: http://www.javascript.cz/?prikazy=new