Wat is het bezwaar tegen die ongedefinieerde globals dan?quote:Op woensdag 11 september 2013 01:14 schreef Tijn het volgende:
Nou, een bool bestaat niet echt in Javascript, dus dat maakt niet zoveel uitHet is wel logischer om een true/false waarde te geven aan een variabele die als boolean gebruikt wordt, dat wel. Dat je ongedefinieerde globals midden in een functie aanmaakt vond ik persoonlijk kwalijker
kost geheugen en is gewoonweg niet netjes. Scoping is echt belangrijk.quote:Op woensdag 11 september 2013 09:09 schreef pascal08 het volgende:
[..]
Wat is het bezwaar tegen die ongedefinieerde globals dan?
Ik vind het meer nastier dat beide stukjes een totaal andere uitwerking gaan hebben.quote:Op woensdag 11 september 2013 00:08 schreef Tijn het volgende:
Het is echt nasty om je variabelen helemaal niet te declareren. Bovendien maak je op deze manier alles global, dat is ook niet echt aan te raden.
Het levert geen robuust programma op. Je moet code schrijven die je kunt vertrouwen. Als je je variabelen niet onder controle hebt, wordt het ontzettend complex om het overzicht te houden naarmate je programma groeit.quote:Op woensdag 11 september 2013 09:09 schreef pascal08 het volgende:
[..]
Wat is het bezwaar tegen die ongedefinieerde globals dan?
| 1 | setTimeout(functie, 1000); // merk op dat de haakjes achter de functieaanroep missen |
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | function newmess(opt){ var xmlhttp; if (window.XMLHttpRequest){ // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); }else{ // code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } if(!opt){ var shout = document.getElementById('shout'); var s = shout.innerHTML.split("_"); var id = s[1]; xmlhttp.open("GET","shout/getshouts.php?id=" + id,true); xmlhttp.send(); xmlhttp.onreadystatechange=function(){ if (xmlhttp.readyState==4 && xmlhttp.status==200){ var r = xmlhttp.responseText.split("|dvqs|"); var g = 'Laatste bericht: <span style="color:#208AE6;">'; if(r[0] < 60){ g += r[0] + ' seconden</span> geleden.'; }else if(r[0] < 3600){ var g1 = Math.floor(r[0] / 60); var g2 = r[0] - (g1 * 60); g += g1 + ' minuten ' + g2 + ' seconden</span> geleden.'; }else if(r[0] < 86400){ var g1 = Math.floor(r[0] / 3600); var g2 = Math.round((r[0] - (g1 * 3600)) / 60); g += g1 + ' uren ' + g2 + ' minuten</span> geleden.'; }else if(r[0] < 31536000){ var g1 = Math.floor(r[0] / 86400); var g2 = Math.round((r[0] - (g1 * 86400)) / 3600); g += g1 + ' dagen ' + g2 + ' uren</span> geleden.'; }else{ g += 'Meer dan een jaar</span> geleden.'; } document.getElementById('hoelang').innerHTML = g; if(r[1] != ''){ shout.innerHTML = r[1] + shout.innerHTML; } if(srefresh == true){ setTimeout(newmess,1000); } } } }else{ var area = document.getElementById('shouttextarea'); var msg = encodeURIComponent(area.value); xmlhttp.open("GET","shout/getshouts.php?msg=" + msg,true); xmlhttp.send(); xmlhttp.onreadystatechange=function(){ if (xmlhttp.readyState==4 && xmlhttp.status==200){ if(xmlhttp.responseText == 'ok'){ area.value = ''; } } } } } |
IE cached schijnbaar die response.. dus moet k of een random iets in die url zetten of op de een of andere manier headers toevoegen die zeggen dat er geen cache moet zijn :Squote:Op woensdag 11 september 2013 15:28 schreef KomtTijd... het volgende:
...Kortom de loop werkt gewoon, maar er klopt iets niet in de rest van je functie?
| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |