|
(X)HTML, JavaScript, DHTML, XML, CSS Client scripting tehnologije, Dynamic HTML, Cascading Stylesheets, XML i standardi |
![]() |
|
Alati teme | Način prikaza |
![]() |
#1 |
Domagoj Horvat
Expert
|
![]() imam kod otprilike ove strukture:
Kôd:
function Objekt() { this.funkcija1 = funkcija1; this.funkcija2 = funkcija2; this.nesto = "bla"; . . . function funkcija1(){ . . . this.funkcija2(); } function funkcija2(){ . . . setTimeout("this.funkcija2()" , 10); } } var Instanca = new Objekt();
__________________
postoje ludosti bez kojih je nemoguce ljudsko dostojanstvo |
![]() |
![]() |
![]() |
#2 |
Dejan Katašić
Wrote a book
Datum učlanjenja: 10.06.2005
Lokacija: Novi Sad
Poruke: 1.017
Hvala: 129
86 "Hvala" u 43 poruka
![]() |
![]() The 'this' problem
Ako napišeš 'setTimeout("this.funkcija2()" , 10);' to odlaže evaluaciju string izraza za 10 ms, kada se this iz stringa pridružuje window objektu. |
![]() |
![]() |
![]() |
#3 |
Ivan Dilber
Sir Write-a-Lot
|
![]() ovo je klasican problem sa this... ovo mozes da resis sa closure-om:
Kôd:
function funkcija2(){ var self = this; var closure = function(){ self.funkcija1(); }; this.timer = window.setTimeout(closure, 10); }
__________________
Leadership is the art of getting people to want to do what you know must be done. Poslednja izmena od ivanhoe : 09. 11. 2007. u 01:08. |
![]() |
![]() |
![]() |
#4 |
Domagoj Horvat
Expert
|
![]() znaci, ako ispravno shvacam, point je uzeti 'onaj this' koji je unutar funkcije (a ne unutar npr. setTimeout/addEventListener argument liste) i staviti u closure jer ce tad bit vezan za konkretan objekt umjesto uz window? right?
__________________
postoje ludosti bez kojih je nemoguce ljudsko dostojanstvo |
![]() |
![]() |
![]() |
#5 |
Dejan Katašić
Wrote a book
Datum učlanjenja: 10.06.2005
Lokacija: Novi Sad
Poruke: 1.017
Hvala: 129
86 "Hvala" u 43 poruka
![]() |
![]() Izgleda da može i jednostavnije, jer je prvi argument u setTimeoutu ili string za evaluaciju (koja se vrši pri isteku čekanja) ili referenca na funkciju (koja postoji u trenutku zadavanja tajmauta), pa ako proslediš referencu na funkciju nema frke - evo test -
Kôd:
funkcija2 = function () { alert ('ovaj nam ne treba ovaj put, sorry'); } objekat = { funkcija1: function () { setTimeout (this.funkcija2, 10); }, funkcija2: function () { alert ('uspeo poziv, bravo'); } } objekat.funkcija1 (); |
![]() |
![]() |
![]() |
#6 |
Milan Cvejic
Wrote a book
|
![]() Ovaj javascript je postao preterano ruzan...
__________________
http://weevify.com |
![]() |
![]() |
![]() |
#7 |
Ivan Dilber
Sir Write-a-Lot
|
![]() ovo je klasican javascript, samo se malo stil pisanja koda promenio... umesto objekat.prototype.neka_funkcija sad je uobicajeno da se koristi notacija kao za asocijativni niz
__________________
Leadership is the art of getting people to want to do what you know must be done. |
![]() |
![]() |
![]() |
#8 |
Milan Cvejic
Wrote a book
|
![]() Off Topic: Ma znam da je klasican js, samo sam konstatovao na glas... zasto ljudi vishe ne koriste: Kôd:
move ax,0xFFFFFFFF; cmp al, 0; jne nije_isto; :P
__________________
http://weevify.com |
![]() |
![]() |
![]() |
#9 |
Goran Pilipović
Sir Write-a-Lot
|
![]() Off Topic: Zato što ga preterano komplikuju ![]()
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman I don't always know what I'm talking about but I know I'm right! |
![]() |
![]() |
![]() |
#10 | |
Domagoj Horvat
Expert
|
![]() Citat:
__________________
postoje ludosti bez kojih je nemoguce ljudsko dostojanstvo Poslednja izmena od dee : 09. 11. 2007. u 18:35. |
|
![]() |
![]() |
![]() |
|
|
![]() |
||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
PHP + Mysql + javascript | PeTkO | Sva početnička pitanja | 3 | 29. 02. 2008. 17:48 |
JavaScript watermark za IE6??? | Croll | (X)HTML, JavaScript, DHTML, XML, CSS | 2 | 26. 12. 2007. 10:27 |
Javascript ORM | kodi | (X)HTML, JavaScript, DHTML, XML, CSS | 2 | 10. 07. 2007. 11:17 |
Inlining objekta, sve sem Opere ne podrzava standard! | bojan_bozovic | (X)HTML, JavaScript, DHTML, XML, CSS | 14 | 07. 01. 2007. 20:52 |
javascript 3D | ivanhoe | Opušteno | 2 | 03. 11. 2006. 12:25 |