19/07/2011, 23:22
|
| | | Fecha de Ingreso: enero-2011
Mensajes: 492
Antigüedad: 13 años, 10 meses Puntos: 81 | |
Respuesta: Eventos JS en HTML Pues te diré que no se usa ningún eval, porque aquí hay dos dimensiones distintas, para HTML "funcion()" es una cadena, pero esa cadena es la puerta de entrada al intérprete JavaScript. y es como si estuviera escrito en un archivo JS a parte, de hecho dentro de esas comillas puedes escribir lo que quieras de JavaScript y será válido, hasta crear una función o cualquier otro objeto. Se usa un eval cuando hay comillas dentro de JavaScript, para aclarar las cosas te diré cuando se usa eval dentro de una declaración de evento dentro del HTML, digamos en este caso:
<button onclick="var variable = eval('{uno: 1, dos : 2, tres : 3}');">Botón</button>
Para HTML la cadena será esto: var variable = eval('{uno: 1, dos : 2, tres : 3}');, pero para JavaScript la única cadena será esto: '{uno: 1, dos : 2, tres : 3}' y en este caso si se aplica un eval. Hay otros casos donde también se aplica un eval aunque no se vea, por ejemplo cuando usas un setTimeout o un setInterval, pero sólo si lo usas de esta manera:
setTimeout("mifuncion()", 100);
como verás aquí si hay comillas dentro de JavaScript y es necesario aplicar eval, pero también podrías evitar el odioso eval, de este modo:
setTimeout(mifuncion, 100);
obviamente tendríamos que definir mifuncion, y en este caso solo se ejecutaría el objeto Function sin usar ningún eval, lo mismo para setInterval.
Bueno, con eso termino esta pequeña aclaración. Espero que te haya servido. |