JohndoeMAKT Skrevet 7. januar 2010 Del Skrevet 7. januar 2010 (endret) Jaha, korleis gjer du det då? Closures kan benyttes: http://www.google.com/search?hl=en&saf...mp;oq=&aqi= EDIT: Jeg har lest om dette patternet i «Advanced JavaScript patterns», men slo det fra meg som noe veldig unyttig for min del. Endret 7. januar 2010 av JohndoeMAKT Lenke til kommentar
siDDis Skrevet 7. januar 2010 Del Skrevet 7. januar 2010 Det einaste som skjer er at eit objekt returnerer ein liste med "Public" funksjoner istadenfor å returnere alt, det kan framleis debugges og endres på. Lenke til kommentar
JohndoeMAKT Skrevet 7. januar 2010 Del Skrevet 7. januar 2010 Jeg er rimelig sikker på at objektinstansene du oppretter (og til-bindet variabelverdier) ikke kan aksesseres utenfor det nye scopet du oppretter. Det er muligens definisjonen av «debugges» vi ser forbi hverandre på her? Lenke til kommentar
siDDis Skrevet 7. januar 2010 Del Skrevet 7. januar 2010 Ja dei kan ikkje akseseres av eit vanleg skript, men ein kan framleis debugge det akkurat som man kan med private metoder/variabler i f.eks Java/C# For å ta eit kodeeksempel som eg har Response.DOM = (function (){ var PRIVATE = { formElement: null } var PUBLIC = { BelongsToFormElement: function(ele){ PRIVATE.formElement = null; if (ele.parentNode.tagName === "FORM"){ PRIVATE.formElement = ele.parentNode; } else if (ele.parentNode.tagName === "BODY"){ return null; } else{ PUBLIC.BelongsToFormElement(ele.parentNode); } return PRIVATE.formElement; } }; return PUBLIC; })(); Så ser du at en aldri får direkte tilgang til formElement variablen utan modifisere skriptet. BelongsToFormElement() funksjonen blir derimot returnert og blir dermed ein public funksjon i Response.Dom namespacet. Lenke til kommentar
JohndoeMAKT Skrevet 7. januar 2010 Del Skrevet 7. januar 2010 Som sagt er det hva som legges i ordet «debugging» som begrenser hva du kan gjøre eller ikke. Har du mulighet til å legge inn et break-point på en kodelinje og derfra kjøre egne kommandoer er det selvsagt lite og ingenting du ikke kan gjøre. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå