sin var no caduca ... , por eso funciona el delete , estas creando una nueva variable en el nivel donde se aloja la function
Y no le veo sentido borrar una variable local dentro q una function ... buho29 >From: "Alejandro Cid" <[EMAIL PROTECTED]> >Reply-To: [email protected] >To: <[email protected]> >Subject: [ASNativos] Alucinando con el operador Delete... o no, ¿el Strict data typing es un sueño que no existe? >Date: Sat, 16 Jul 2005 02:39:38 +0200 > >Hola amantes del código fijaos en esto: > ><code> > var administracionGeneral:Array = new >Array("<hola><mundo>Hola mundo</mundo></hola>"); > // > for (i=0; i<administracionGeneral.length; i++) { > var tempXml:XML = new >XML(administracionGeneral.join("")); > trace("¿Que devuelve antes de ser borrado? --> >"+tempXml); > delete tempXml > trace("¿Que devuelve despues de ser borrado? --> >"+tempXml); > } ></code> > >¿Todo bien verdad?, que nadie me suelte que no puedo asignarle un >tipo a una variable local, porque si que se puede :), vemos que los >valores devueltos son correctos, en primer lugar el XML y luego >"undefined" porque lo hemos borrado, bien, sigamos... > ><code> >function unaFuncion(){ > // > var administracionGeneral:Array = new >Array("<hola><mundo>Hola mundo</mundo></hola>"); > // > for (i=0; i<administracionGeneral.length; i++) { > var tempXml:XML = new >XML(administracionGeneral.join("")); > trace("¿Que devuelve antes de ser borrado? --> >"+tempXml); > delete tempXml > trace("¿Que devuelve despues de ser borrado? --> >"+tempXml); > } >} >unaFuncion(); ></code> > >Bueno, aquí ya me he empezado a mosquear, el flash pasa de mi al >hacer el delete, los valores que se devuelven en ambos casos son el >objeto xml con sus nodos ¿porque?, quien sabe... pero... >continuemos, > ><code> >function unaFuncion(){ > // > var administracionGeneral:Array = new >Array("<hola><mundo>Hola mundo</mundo></hola>"); > // > for (i=0; i<administracionGeneral.length; i++) { > tempXml = new >XML(administracionGeneral.join("")); > trace("¿Que devuelve antes de ser borrado? --> >"+tempXml); > delete tempXml > trace("¿Que devuelve despues de ser borrado? --> >"+tempXml); > } >} >unaFuncion(); ></code> > >jojo, esto si que es bueno, le quito el identificador "var" a >"tempXml" y vuelve a ir bien, ya me hace caso al hacer el delete, >ojo, yo entiendo (que alguien me corrija) que las variables >definidas dentro de una función (con el "var" o sin el) son locales >y caducan con la función, he probado a crear la variable fuera de la >funcion y borrarla dentro, y va perfectamente, el problema en mi >caso es querer crear la instancia de "tempXml" dentro de una >función, que no me deja borrarla, ¿porque?, el codigo funciona >perfectamente, pero no puedo eliminar ese objeto. ¿Que pensais? > >Saludos. > >Jano > > >---------------------------------- >Lista ASNativos:[email protected] >http://www.5dms.com/listas >---------------------------------- ---------------------------------- Lista ASNativos:[email protected] http://www.5dms.com/listas ----------------------------------

