Foros del Web » Programando para Internet » Javascript »

Quiero lanzar una idea

Estas en el tema de Quiero lanzar una idea en el foro de Javascript en Foros del Web. Como todos los que estais aqui sabreis que javascript es un lenguaje basado en objetos y orientado a eventos. Sin embargo yo creo que el ...
  #1 (permalink)  
Antiguo 23/03/2005, 14:26
 
Fecha de Ingreso: febrero-2005
Mensajes: 198
Antigüedad: 19 años, 2 meses
Puntos: 5
Quiero lanzar una idea

Como todos los que estais aqui sabreis que javascript es un lenguaje basado en objetos y orientado a eventos. Sin embargo yo creo que el hecho de crear clases en javascript puede ayudar muchisimo a la lectura de codigo.

Como os quiero lanzar una idea en la podriamos participar todos. Crear clases en javascript lo mas abstractas posibles para poder usarlas en la mayoria de casos posibles. podriamos hacer clases de validaciones, utilidades, manejo de fechas.

yo por ejemplo he empezado a crear una clase llamada "validaciones" aún es muy simple pero es para que cogais la idea de lo que pretendo. Entre todos podriamos ir poniendo los casos mas habituales para validar e ir añadiendolos a la clase para llegar a formar una clase util para todos.

Si no sabeis mucho de programacion orientada a objetos es el momento de aprender ya que javascript aunque limitadillo puede hacer sus pinitos e introducirse en ese mundo.

Bueno ahi os dejo el enlace de la pagina, le hechais un vistazo al codigo y decis cosas. Simplemente valida que los campos no sean nulos y la direccion de email tenga una @ y despues un punto (.). Pero fijaros en el codigo.

http://webs.ono.com/usr004/jobegor/validaciones.htm

Ahora tengo una pregunta para los mas experimentados en javascript. ¿puede que sera inecesario crear un objeto de una clase creada por nosotros que sea algo grande para utilizarla luego con pocos campos?

Es decir que no si si es rentable crear un objeto que utilize mucha memoria para validar simplemente un campo o por el contrario es casi imperceptible el consumo de recursos y velocidad que eso pueda suponer.

y una mas general.

¿que inconvenientes pueden tener programar con clases en javascript y mas concretamente de la forma que digo?

vaya parrafada me he soltado, perdonadme.
  #2 (permalink)  
Antiguo 23/03/2005, 17:46
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola occiso:

Me parece interesante la propuesta, aunque no tengo muy claro los conceptos de clases en javascript (tampoco llegué a enterarme cuando estudié java)

La sintaxis que usas en principio parece reconocible por los distintos navegadores, pero si piensas mostrar datos puedes tener algún inconveniente, o tal vez manejar eventos... o el tema de la edición (en alguno de esos temas he hecho pruebas y no siempre he conseguido resultados buenos)

Si te interesa el uso de librerías gráficas, te paso una página en donde desarrollé unas rutinillas...: C:\Pepe\web\Apache2\htdocs\www.pepemolina.com\efectos\reloj.html
Claro que en estos foros siempre me han ayudado... http://www.forosdelweb.com/f13/libreria-grafica-115340/

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 23/03/2005, 18:42
 
Fecha de Ingreso: febrero-2005
Mensajes: 198
Antigüedad: 19 años, 2 meses
Puntos: 5
No he entendido muy bien tu mensaje, tal vez en vez de utilizar el concepto de clase tendria que haber utilizado el concepto de "objetos extrínsecos" que es como lo he leido en algunos manuales.

No se que problema puede dar con los exploradores, yo siempre pruebo mi codigo con 3 (IE, Opera y Firefox) y me funciona perfectamente.


Yo creo que piensas que hablo de crear programas completos solo con javascript(no se si se puede, que yo sepa javascript no es un lenguaje de proposito general). Yo me refiero a crear nuestros objetos con las funcionalidades mas habituales.

como ejemplo he puesto crear un objeto validaciones. ese objeto tiene varias funciones: campoNulo, email, longitudCadena. Asi si por ejemplo creamos una funcion que valide un formulario la sintaxis podria ser

//creamos un objeto
var validar = new validaciones()

y vamos validando campos

validar.campoNulo(parametro)
validar.email().... etc

asi seria un codigo mas claro y facil de leer por otras personas que no fueran el propio creador del codigo. Esa es la filosofia de la programacion orientada a objetos
  #4 (permalink)  
Antiguo 24/03/2005, 03:53
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

Bueno, creo que yo lo conozco como objetos... hablamos de la programación orientada a objetos, y de las "cajas negras" en las que no es necesario saber lo que contiene, pero nos facilita mucho la programación...

No sé si te has fijado en el reloj del enlace...
Se crea mediante elementos básicos: esferas, manecillas, circunferencias, construídos en base al elemento básico que en una librería básica tendría que ser el punto...

No recuerdo los criterios que tuve al iniciar esa librería, pero me he encontrado con algunas encrucijadas como la forma de "representar objetos"

Los mismos navegadores nos facilitan sus propias "cajas negras" y me parece que el mismo "document.write()" es una, pero si se usa con un objeto como el punto, después de cargarse la página, no sirve porque "machacaría" lo existente en ella... entonces decidí crear el método "genera()" que simplemente nos dá el código, y el usuario de la librería tendrá que saber si "usarlo" con un "document.write()" o en el caso de este reloj con innerHTML para poder luego modificar algunos elementos (con el paso de los segundos)

Tal vez me haya ido por las ramas, así que mejor lo dejo.
Tan solo quiero reiterar que me parece un proyecto interesante y que intentaré ayudar.

Por cierto, dentro de los métodos que suelen tener los objetos existe .toString()

Si lo redefines puedes poner un mensajito mejor que el que te va a mostrar por defecto (¡pruébalo!)
Si lo pruebas verás que en explorer te muestra [object object]

redefiniéndolo:
this.toString = function() {return "validador desarrollado por occiso";}

Queda un poco mejor.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:04.