Problima me settimeout kai metafora object

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Problima me settimeout kai metafora object

Δημοσίευση από Rapid-eraser » 05 Ιουν 2005 23:31

To problima mou eivai kapos periergo . Me mia proxiri matia sto google dev eida kai poli fos kai paratirisa oti arketoi exouve to idio problima.

To va pervas eva avtikimevo se mia function eivai aplo pragma
kai malista n javascript ovtas provoitiki to kavei by reference orea mexri edw

ti givete omos otav kaveis xrisimopieis tnv settimeout gia va dimiourgiseis eva asixrovo klado pou kai aftos exei avagki prosbasis sto idio object ?

eivai profaves pos kati tetoio dev doulebei

Κώδικας: Επιλογή όλων

function rapid(myobj){

settimeout('rapid(myobj)',1000);
}
av bgaloume ta quotes tote xavoume tnv logiki tou script
ka8os n function 8a ektelestei amesa kai 8a mas girisei to apotelesma se eva second. to zitima eivai oti afto prepei va givei asigxrova .

Distixos oi ligostes gvosis mou stnv javascript dev me bon8ave kai idietera
Av kapoios exei kapoia idea please help ... ostoso egw 8a ksavarikso mia matia sta objects tis javascript mipos exo parablepsei kati allo pio simavtiko...

kai gia va givo pio safis as paroume to eksis poli kakogramevo paradigma

Κώδικας: Επιλογή όλων

<script>
var newpic = new Image&#40;&#41;;
newpic.src = "test.gif";

function loopa&#40;myobj&#41;&#123;
alert&#40;myobj.src&#41;;
setTimeout&#40;"loopa&#40;' + myobj + '&#41;",1000&#41;; // eva sec dld
&#125;  

loopa&#40;newpic&#41;;
</script>
8eoritika afto 8a kavei eva endless recurtion pou prepei va grafei se eva alert to http://path/test.gif

ela omos pou dev to kavei afto ...

tnv proti fora pou kaloume to function to object pervaei by reference poli sosta
tnv defteri fora omos pou to kaloume apo tnv settimeout opos fevete kapou xavete kai fisika girzei undefined
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Problima me settimeout kai metafora object

Δημοσίευση από Rapid-eraser » 06 Ιουν 2005 01:20

evas tropos pou brika me tnv bon8ia kapoiou filou eivai avti va kavw amesi xrisi tou settimeout stnv function
va xrisimopiw mia anonymus function kai va kalo tov eafto tis dld

settimeout(function{ loopa(newpic); },1000)

afto dixvei va paizei alla dev kserw av eivai o pio sosti prosegkisi
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Cmg__
Δημοσιεύσεις: 1710
Εγγραφή: 29 Μαρ 2005 22:40

Problima me settimeout kai metafora object

Δημοσίευση από Cmg__ » 06 Ιουν 2005 01:20

skeftomileeeeeeeeeeeeeeeeeeee...
:P :lol:

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Problima me settimeout kai metafora object

Δημοσίευση από skeftomilos » 06 Ιουν 2005 01:29

Με φώναξε κανείς; :-) Οι παράμετροι μπαίνουν ως τρίτο argument στη setTimeout.

Κώδικας: Επιλογή όλων

<html>
  <head>
    <script type="text/javascript">
      function rapid&#40;myobj&#41;&#123;
        document.getElementById&#40;"results"&#41;.innerHTML = myobj.name + ", " + myobj.speciality + ", " + myobj.speed
        myobj.speed ++
        setTimeout&#40;rapid, 1000, myobj&#41;
      &#125; 
      window.onload = function&#40;&#41; &#123;
        var o = &#123;name&#58;"Rapid", speciality&#58;"Eraser", speed&#58;100&#125;
        rapid&#40;o&#41;
      &#125;
    </script>
  </head>
  <body>
    <div id="results"></div>
  </body>
</html>
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Problima me settimeout kai metafora object

Δημοσίευση από Rapid-eraser » 06 Ιουν 2005 01:41

a poli orea :) thanks man

mia pros8iki oti oi parametri mpevouve meta to deftero :P
os paramtri tis idias tis function tou settimout

dld settimout(rapid,1000,proti,defteri)

aka

:)

oreo oreo mou arese afto :P

empiries
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
Dr_Java
Δημοσιεύσεις: 218
Εγγραφή: 15 Αύγ 2003 16:42
Τοποθεσία: πειραιας
Επικοινωνία:

Problima me settimeout kai metafora object

Δημοσίευση από Dr_Java » 06 Ιουν 2005 02:53

Γιατι οπου javascript........ skeftomilos!!!! :) :) :)
Εικόνα

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Problima me settimeout kai metafora object

Δημοσίευση από Rapid-eraser » 06 Ιουν 2005 10:44

exw tnv amidra evtiposi pos o IE dev goustarei va ta dei sosta ta orismata !!!

Afto me to anonymus function dixvei va paizei kai se IE
xmm

mia diafotisi ?
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Problima me settimeout kai metafora object

Δημοσίευση από skeftomilos » 06 Ιουν 2005 19:08

Ουπς! Ναι, ο IE κλωτσάει. Το είχα δει παλιότερα αλλά το είχα ξεχάσει. Ο τρόπος με την ανώνυμη function είναι πολύ ικανοποιητικός, οπότε μην έχεις τύψεις να τον χρησιμοποιήσεις. Αρχικά μοιάζει παράξενο που λειτουργεί. Αυτό συμβαίνει γιατί η JavaScript έχει closures, δηλαδή η ανώνυμη ρουτίνα αποθηκεύει κατά τον ορισμό της το περιβάλλον της. Το περιβάλλον της στη συγκεκριμένη περίπτωση είναι η μεταβλητή myobj. Έτσι όταν έρθει η ώρα να τρέξει, η μεταβλητή myobj περιέχει το αντικείμενό μας και δεν είναι undefined (όπως θα νόμιζε κανείς).

Κώδικας: Επιλογή όλων

setTimeout&#40;function&#40;&#41; &#123; rapid&#40;myobj&#41; &#125;, 1000&#41;
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Problima me settimeout kai metafora object

Δημοσίευση από Rapid-eraser » 06 Ιουν 2005 22:34

vai kai egw afto skeftomouva kai malista ekava tnv eksis ipo8esi
logika me tnv settimeout avoigei veo thread kai tnv petaei ekei asigxrova me to ipolipo script
gia va miv givei busy n proti routina kai kolisei to simpav
opote logika 8a eprepe va girisei undefined outos n allos :P
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Cmg__
Δημοσιεύσεις: 1710
Εγγραφή: 29 Μαρ 2005 22:40

Problima me settimeout kai metafora object

Δημοσίευση από Cmg__ » 07 Ιουν 2005 00:33

Ax aytos o IE! :P :lol:

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες