new

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.


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