|
(X)HTML, JavaScript, DHTML, XML, CSS Client scripting tehnologije, Dynamic HTML, Cascading Stylesheets, XML i standardi |
|
Alati teme | Način prikaza |
08. 11. 2007. | #1 |
Domagoj Horvat
Expert
|
javascript - setTimeout() iz objekta
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 |
08. 11. 2007. | #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. |
09. 11. 2007. | #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 02:08. |
09. 11. 2007. | #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 |
09. 11. 2007. | #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 (); |
09. 11. 2007. | #6 |
Milan Cvejic
Wrote a book
|
Ovaj javascript je postao preterano ruzan...
__________________
http://weevify.com |
09. 11. 2007. | #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. |
09. 11. 2007. | #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 |
09. 11. 2007. | #9 |
Goran Pilipović
Sir Write-a-Lot
|
Off Topic: Zato što ga preterano komplikuju Osim xmlHttprequest, javascript je skoro isti kao 1996 godine... tada nije bilo fensi prototype... Prave od toga ono što on nije, ali to je neka druga priča... da ne kvarimo temu.
__________________
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! |
09. 11. 2007. | #10 | |
Domagoj Horvat
Expert
|
Citat:
__________________
postoje ludosti bez kojih je nemoguce ljudsko dostojanstvo Poslednja izmena od dee : 09. 11. 2007. u 19:35. |
|
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
PHP + Mysql + javascript | PeTkO | Sva početnička pitanja | 3 | 29. 02. 2008. 18:48 |
JavaScript watermark za IE6??? | Croll | (X)HTML, JavaScript, DHTML, XML, CSS | 2 | 26. 12. 2007. 11:27 |
Javascript ORM | kodi | (X)HTML, JavaScript, DHTML, XML, CSS | 2 | 10. 07. 2007. 12:17 |
Inlining objekta, sve sem Opere ne podrzava standard! | bojan_bozovic | (X)HTML, JavaScript, DHTML, XML, CSS | 14 | 07. 01. 2007. 21:52 |
javascript 3D | ivanhoe | Opušteno | 2 | 03. 11. 2006. 13:25 |