11. juni 2006 - 21:23
Der er
13 kommentarer og 1 løsning
Omdøb objekt?
Hej, Jeg er kommet i den situation, at jeg har brug for at omdøbe et objekt i javascript. Jeg har prøvet noget, der ligner følgende: function testObject() { } var test1 = new testObject(); var test2 = new testObject(); var test3 = new testObject(); var test1Backup = new testObject(); var test2Backup = new testObject(); var test3Backup = new testObject(); test1.prop1 = 120; test1.prop2 = 400; test2.prop1 = 240; test2.prop2 = 400; test3.prop1 = 360; test3.prop2 = 400; testObject[test1Backup] = testObject[test1]; testObject[test2Backup] = testObject[test2]; testObject[test3Backup] = testObject[test3]; testObject[test1] = testObject[test2Backup]; testObject[test2] = testObject[test3Backup]; testObject[test3] = testObject[test1Backup]; Problemet er selvfølgelig at det ikke virker, men er der nogle derude der kan fortælle mig hvorfor? Er det fordi man bare ikke kan sætte objekter lig hinanden overhovedet, har det noget med syntaks at gøre eller noget helt tredje? Jeg har ledt nettet tyndt efterhånden, måske søger jeg forkert, men faktum er, at det er ved at være så frustrerende at jeg får mareridt om det, hjælp! :)
Annonceindlæg fra Cognizant
Jeg ville starte med at placere {} rigtigt :P Du har ikke flyttet } til slutningen af funktionen
som i function testObject() { ... ... .. }
function testObject() { } er en tom funktion, som bruges til at oprette objekter med, derfor: var test1 = new testObject(); var test2 = new testObject(); var test3 = new testObject(); var test1Backup = new testObject(); var test2Backup = new testObject(); var test3Backup = new testObject();
jeg er ikke sikker på jeg forstår dit spørgsmål.....hvilke objekter er det du ønsker at "omdøbe", til hvad, hvornår og hvordan ? /psc
Jeg forstår desværre heller ikke hvad du vil? ... denne her virker, men det er måske ikke det ønske du har eller hvad skal koden gøre præcis? <script type="text/javascript"> function testObject() { } var test1 = new testObject(); var test2 = new testObject(); var test3 = new testObject(); var test1Backup = new testObject(); var test2Backup = new testObject(); var test3Backup = new testObject(); test1.prop1 = 120; test1.prop2 = 400; test2.prop1 = 240; test2.prop2 = 400; test3.prop1 = 360; test3.prop2 = 400; testObject[test1Backup] = test1; testObject[test2Backup] = test2; testObject[test3Backup] = test3; testObject[test1] = test2Backup; testObject[test2] = test3Backup; testObject[test3] = test1Backup; alert(testObject[test1Backup]); alert(testObject[test2Backup]); alert(testObject[test3Backup]); </script>
uhm, næh lavede vist selv en fejl der... men , øhm skal koden overføre værdierne fra det ene object til det andet?
Hvis du alerter alert(testObject[test1]); - i bunden af din oprindelige kode ville du se at dit object ikke hedder testObject[test1] ... det hedder test1 :o) <script type="text/javascript"> var testObject = function(){}; var test1 = new testObject(); var test2 = new testObject(); var test3 = new testObject(); var test1Backup = new testObject(); var test2Backup = new testObject(); var test3Backup = new testObject(); test1.prop1 = 120; test1.prop2 = 400; test2.prop1 = 240; test2.prop2 = 400; test3.prop1 = 360; test3.prop2 = 400; test1Backup = test1; test2Backup = test2; test3Backup = test3; test1 = test2Backup; test2 = test3Backup; test3 = test1Backup; alert(test3Backup.prop1); </script> Så overføres objectet... ... but why loop the loop ?
Det her var sikkert det du tænkte på... - et object i et object ... men stadig ... hvorfor? <script type="text/javascript"> var testObject = {}; testObject.test1= {}; testObject.test2 = {}; testObject.test3 = {}; testObject.test1Backup = {}; testObject.test2Backup = {}; testObject.test3Backup = {}; testObject.test1.prop1 = 120; testObject.test1.prop2 = 400; testObject.test2.prop1 = 240; testObject.test2.prop2 = 400; testObject.test3.prop1 = 360; testObject.test3.prop2 = 400; testObject.test1Backup = testObject.test1; testObject.test2Backup = testObject.test2; testObject.test3Backup = testObject.test3; testObject.test1 = testObject.test2Backup; testObject.test2 = testObject.test3Backup; testObject.test3 = testObject.test1Backup; alert(testObject.test1Backup); alert(testObject.test1Backup.prop1); alert(testObject.test2.prop1); </script>
12. juni 2006 - 00:40
#10
Nåh, kaster lige et svar: Ja, man kan overføre objecter :)
12. juni 2006 - 00:46
#11
Lige et p.s. den fejler åbenbart hvis man bruger [] notationen istedet for . notationen ved objecter...
12. juni 2006 - 01:00
#12
Kaster også lige denne hvis det mere var det format du ville have scriptet i... <script type="text/javascript"> function testObject() { } var test1 = new testObject(); var test2 = new testObject(); var test3 = new testObject(); var test1Backup = new testObject(); var test2Backup = new testObject(); var test3Backup = new testObject(); test1.prop1 = 120; test1.prop2 = 400; test2.prop1 = 240; test2.prop2 = 400; test3.prop1 = 360; test3.prop2 = 400; test1Backup = test1; test2Backup = test2; test3Backup = test3; test1 = test2Backup; test2 = test3Backup; test3 = test1Backup; alert(test2.prop1); alert(test2.prop2); alert(test2Backup.prop1); alert(test2Backup.prop2); </script>
12. juni 2006 - 01:45
#13
tak for det
12. juni 2006 - 02:13
#14
Velbekom, og tak for point :)
Vi tilbyder markedets bedste kurser inden for webudvikling