próbuję ogarnąć obiekty w JS.
Mam sobie obiekt:
Kod
function Obiekt(name, start, time) {
this.name = name;
this.start = start;
this.time = time;
this.startCounting = function() {
window.alert(this.name+' ma '+this.start+' lat');
}
return this;
}
this.name = name;
this.start = start;
this.time = time;
this.startCounting = function() {
window.alert(this.name+' ma '+this.start+' lat');
}
return this;
}
potem niżej w $(document).ready(... mam przypisaną funkcję do kliknięcia na element, która coś tam sobie robi, a na koniec tej funkcji chciałbym stworzyć nową instancję obiektu Obiekt, robię to tak:
Kod
var ob = new Obiekt('nazwa', 0, 0);
i jeśli wtedy sobie wyalertuję ob.name (w obrębie tej funkcji, która to utworzyła), to działa, alertuję mi 'nazwa', ale chciałbym mieć dostęp do tego obiektu później, również w obrębie $(document).ready, ale w innych funkcjach. Chcę mieć kilka obiektów, ob1, ob2, ob3 i na nich dokonywać operacji po kliknięciu na inne elementy DOM. Oczywiście mogę obejść się bez obiektów, tak jak zawsze, ale chciałem to zrozumieć, a chyba gdzieś zgubiłem się w podstawowych założeniach, prawda?
Przykład:
http://jsfiddle.net/WvrtZ/
jeśli w clicku na #a2 będę chciał wyalertować ob1.name, to nic nie dostanę. Chodzi tu pewnie o zasięg. Ale w jaki sposób więc mogę utworzyć po kliknięciu na linki kolejne obiekty i potem odwoływać się do nich dalej po kliknięciu na innego linka?