Entendido.

Este sitio utiliza cookies para analizar la navegación. Si continúa navegando se entiende que acepta su uso. Ver más detalles.";

Logo

Aprende Web

Crea y diseña tus sitios en la Web.

Manual de Javascript

Javascript: lenguaje interactivo para dinamizar la web.


Y ahora tambien aprende a programar en C++ con Aprende Web C++

logo rss RSS. Suscribir canal.

Buscar en Aprende Web

Traducir página

Visita nuestro blog:

bolg.aprende-web.net

y entérate de las novedades o deja un comentario.

Dudas y sugerencias:

aprendeweb@aprende-web.net





Sobre ésta página

Ültima modificación: 29-01-2016.

Visitas este mes: 28

Visitas el mes pasado: 28

logo
WEB-GRAFÍA

Mi agradecimiento a los siguientes sitios en los que me he basado para la elaboración de este manual.:

Desarrollo Web: manual de Javascript
Desarrollo Web, por Miguel Angel Álvarez
Libros Web: introducción a Javascript
Libros web, por Javier Eguíluz Pérez
Curso de Javascript: Programación Web
www.programacionweb.net
WebEstilo: JavaScript
www.webestilo.com
W3 schools; Javascript Tutorial
www.w3schools.com
Manual de Javascript: José Antonio Rodríguez.
Jose Antonio Rodriguez: manual en PDF

Donativos

Si este sitio te parece interesante puedes contribuir con una pequeña aportación.




15. Resumen (VII)

15.7 Objetos javascript(I)

javascript

Introducción

Todo elemento de javascript que puede guardarse en una variable es considerado un objeto en javascript.

Hay dos tipos de objetos que podemos utilizar con javascript: los elementos el DOM y los propios objetos de javascript.

Ya hemos visto los objetos del DOM en un tema anterior. Veremos ahora cuáles son los objetos de javascript.

Javascript organiza sus objetos por clases, de manera que cada clase de objetos tiene sus métodos y sus propiedades. Todo objeto en javascript pertenece a una clase, y por lo tanto se le pueden aplicar los métodos y propiedades de su clase.

En javascript tenemos las siguientes clases de objetos:

Clases de objetos en javascript
Clase Explicación
String Cadenas de texto: Cualquier contenido escrito entre comillas es considerado una cadena de texto.
Number Números: tanto enteros como con decimales, en notación científica, o en base 2, 8, o 16;
Date Permite manejar fechas, guardarlas en variable y trabajar con ellas.
Array Los arrays son también una clase de objetos y tienen sus métodos y sus propiedades.
Boolean Esta clase incluye los valores booleanos true y false
Function Las funciones también son una clase de objetos
RegExp Expresiones regulares: Una clase de objetos para comprobar si un cadena de texto se ajusta a un determinado patrón.
Object Todos los objetos anteriores dependen jerárquicamente del objeto Object, punto de origen de los demás objetos en javascript.

A estos añadiremos el objeto Math, que no es una clase de objetos, pero depende también del objeto Object; y que sirve para hacer algunas operaciones matemáticas complejas (raíces, número PI, potenciación, logaritmos, etc).

Al crear una nueva variable javascript la asigna siempre a una clase de objetos, según el contenido de la variable ésta pertenecerá a una clase u otra de objetos. Si cambiamos el valor de una variable, se cambia también la clase de objetos a la que pertenece si el nuevo valor se ajusta más a otra clase.

También hay una forma general de crear cualquier objeto mediante la palabra reservada new seguido del nombre de la clase de objeto al cual le añadimos un paréntesis. dentro del paréntesis pondremos como argumento el valor del objeto :

var num = new Number(5);

La clase Number()

Al asignar a una variable un número como valor, ésta pasa a ser automáticamente un objeto de la clase Number().

Pertenecen a esta clase todas las variables que contienen números y además pueden contener algunos valores especiales relacionados con los números (Infinity, -Infinity, NaN);

Métodos de la clase Number()

Método Number()

El método intentará convertir el elemento que se le pase como argumento en un número. Si no lo consigue devuelve el valor NaN. Valor especial que significa "No es un número" ("Not a Number"). Pueden darse los siguientes casos dependiendo del argumento que pasemos:

Argumento: Ejemplo Resultado
Un número num = Number(23); El resultado es el propio número
Cadena que representa a un número num = Number("23"); Convierte el texto en el número que representa.
Cadena con números y letras num = Number("23px"); El resultado es NaN (Not a Number).
Cadena con sólo texto num = Number("un texto"); El resultado es NaN (Not a Number).
Valor booleano true num = Number(true); El resultado es el número 1
Valor booleano false num = Number(false); El resultado es el número 0


Método isNaN()

Este método comprueba si el elemento que pasamos como argumento es un número. Devuelve siempre un valor booleano: true cuando NO es un número, y false cuando SI es un número.

valor = isNaN("texto"); // valor == true;

valor = isNaN(23); // valor == false;


Método parseInt()

Convierte un número que está escrito en una base que no es base 10 a número en base 10. El primer argumento recoge el número (en base 2, 8, 16 o otra base); el segundo indica la base en la que está el número.

num = parseInt("7b",16)

Podemos pasar también un número escrito en sistema octal o hexadecimal para convertirlo a base 10. En este caso no se necesita el segundo argumento:

num = parseInt(0x7b)


Método toFixed()

Este método redondea el valor del número al que se le aplica en el número de decimales que se especifica en el argumento: si el número es negativo el redondeo se hace a nivel de decenas (-1), centenas(-2), etc. Si no se especifica el argumento se redondea al número entero más próximo.

numero = 1234.56789
num1 = numero.toFixed(2) // num1 = 1234.57
num2 = numero.toFixed(4) // num2 = 1234.5679
num3 = numero.toFixed() // num3 = 1235
num4 = numero.toFixed(-2) // num3 = 1200

Propiedades del objeto Number

Las propiedades del objeto Number son sólo de lectura y devuelven en una serie de valores que pueden ser numéricos o valores especiales. Son las siguientes:

Propiedades de Number
Propiedad Ejemplo Valor
NaN num = Number.NaN el valor devuelto es NaN
MAX_VALUE num = Number.MAX_VALUE Devuelve el valor máximo que puede soportar el ordenador. En windows es 1.7976931348623157e+308
MIN_VALUE num = Number.MIN_VALUE Devuelve el valor mínimo que puede soportar el ordenador. En windows es 5e-324
POSITIVE_INFINITY num = Number.POSITIVE_INFINITY el valor devuelto es Infinity
NEGATIVE_INFINITY num = Number.NEGATIVE_INFINITY el valor devuelto es -Infinity

El objeto Math

El objeto Math nos permite realizar una serie de operaciones matemáticas más complicadas que las simples operaciones normales hechas con operadores. No es una clase de objetos, y utiliza los objetos de la clase Number en sus propiedades y métodos.

Propiedades de Math

Las propiedades del objeto Math son una serie de números o valores bastante utilizados en matemáticas. Estas propiedades son de sólo lectura. Son las siguientes:

Para emplear estas propiedades basta con asignarlas a una variable, o utilizarlas directamente en las operaciones

Métodos de Math

Los métodos del objeto Math permiten realizar una serie de operciones con los números que no podemos hacer con los operadores. Podemos clasificarlos según el tipo de operación que hagan.


Métodos trigonométricos

Las funciones trigonométricas son aquellas que muestran la relación entre un ángulo y los lados de un triángulo rectángulo. Tres son las funciones principales, seno, coseno y tangente.

El valor de los ángulos debemos expresarlos en radianes, por lo que si los tenemos en grados debemos pasarlos a radianes. La siguiente expresión nos pasa los grados a radianes.

radianes = (Math.PI/180)*grados

Métodos trigonométricos
Nombre Ejemplo Explicación
sin seno = Math.sin(ang); Devuelve el valor del seno del ángulo pasado en el argumento.
cos coseno = Math.cos(ang); Devuelve el valor del coseno del ángulo pasado en el argumento.
tan tangente = Math.tan(ang); Devuelve el valor de la tangente del ángulo pasado en el argumento.
asin arcsen = Math.asin(num); Arcoseno: Operación contraria al seno. Pasamos un número como argumento y devuelve el ángulo cuyo seno corresponde a ese número.
acos arccos = Math.acos(num); Arcocoseno: Operación contraria al coseno. Pasamos un número como argumento y devuelve el ángulo cuyo coseno corresponde a ese número.
atan arctan = Math.atan(num); Arcotangente: Operación contraria a la tangente. Pasamos un número como argumento y devuelve el ángulo cuya tangente corresponde a ese número.
atan2 ang = Math.atan2(coordX,coordY); Arcotangente(2): Calcula el ángulo que forma un punto del plano (recta entre el punto y el origen de coordenadas), con la recta X (horizontal) de su origen de coordenadas. Como argumento se pasan las coordenadas del punto.


Métodos de cambio de número

Lo que hacen estos métodos es transformar un número en otro que sea más asequible a la utilidad que le queremos dar. En concreto tenemos las siguientes transformaciones: pasarlo a valor absoluto, redondearlo, y crear un número aleatorio. Los métodos son los siguientes:

Métodos de cambio de número
Nombre Ejemplo Explicación
abs valor = Math.abs(num); Devuelve el valor absoluto del número pasado en el argumento (siempre en positivo).
ceil valor = Math.ceil(num); Redondeo por exceso: redondea el número pasado en el argumento al entero inmediatamente superior.
floor valor = Math.floor(num); Redondeo por defecto: redondea el número pasado en el argumento al entero inmediatamente inferior.
round valor = Math.round(num); Redondeo al más próximo: redondea el número pasado en el argumento al entero más próximo.
random valor = Math.random(); Crea un número aleatorio decimal entre 0 y 1; A este método no se le pasa ningún argumento.

Si queremos que el número aleatorio credo por random esté entre otros valores deberemos transformarlo. Por ejemplo si lo que queremos un número aleatorio entero entre 0 y 100 haremos:

azar = Math.random()*100; azar = Math.round(azar);

Métodos de cálculo

Calculan ciertas operaciones complejas que no pueden realizarse con los operadores normales.

Métodos de cálculo
Nombre Ejemplo Explicación
exp valor = Math.exp(num); Numero e elevado a num. multiplica el número e o constante de Euler por sí mismo las veces indicadas en el argumento: enum .
log valor = Math.log(num); Logaritmo neperiano de num. Devuelve el logaritmo neperiano del número pasado como argumento.
max valor = Math.max(num1,num2); Mayor de dos números. Se le pasan dos números como argumentos, y el resultado es el mayor de ellos
min valor = Math.min(num1,num2); Menor de dos números. Se le pasan dos números como argumentos, y el resultado es el menor de ellos
pow valor = Math.pow(base,exp); Potenciación: se le pasan como argumento dos números, base,exp; eleva el primero de ellos al segundo, es decir el primero se multiplica por sí mismo tantas veces como indica el segundo.
sqrt valor = Math.sqrt(num); Raíz cuadrada: Obtiene la raíz cuadrada del número num pasado como argumento.

La clase Date

La clase de objetos Date permite guardar y manejar fechas en javascript.

Para crear objetos de la clase Date utilizaremos la forma habitual de crear nuevos objetos.

fecha = new Date()

Si no pasamos ningún argumento en el paréntesis obtendremos la fecha actual (fecha del ordenador del usuario).

Podemos pasar una fecha distinta de la actual indicándolo con los siguientes argumentos:

fechaAnterior = new Date(anno,mes,dia,hora,minuto,segundo)

Los argumentos que pasemos deben ser todos números e ir en este orden, y además debemos tener en cuenta lo siguiente:

Podemos prescindir de los tres últimos argumentos, y poner únicamente el año, el mes y el día:

fechaAnterior = new Date(anno,mes,dia)

En este caso la hora, minuto y segundo serán igual a 0.

Al acceder directamente a un objeto de la clase Date obtenemos la fecha en un formato que no es muy habitual. Será parecido a lo siguiente:

Mon Mar 01 2010 12:23:15 GMT+0100

Esto se interpreta de la siguiente manera:

Para poder ver las fechas en un formato más normal, usaremos los métodos de lectura de la clase Date. También hay métodos de escritura que nos periten modificar las fechas.

Veamos primero los métodos de lectura:

Métodos de lectura.

En la siguiente tabla partimos del siguiente objeto:

fecha = new Date()

La variable fecha contiene la fecha actual. A partir de ahí con los métodos de lectura obtenemos diferentes datos de la fecha.

Métodos de lectura de Date
Nombre Ejemplo Explicación
getDate() dia = fecha.getDate(); Devuelve el día del mes.
getDay() diaSem = fecha.getDay(); Devuelve el día de la semana en formato numérico. La semana empieza en domingo y le corresponde el 0, y se acaba el sábado con el 6.
getMonth() mes = fecha.getMonth(); Devuelve el mes en formato numérico. Empieza a contar en el mes de enero con el 0, y acaba en diciembre con el 11.
getFullYear() anno = fecha.getFullYear(); Devuelve el año completo escrito con sus cuatro cifras.
getYear() annoCorto = fecha.getYear() Devuelve el año en formato corto: al año completo se le resta 1900; en fechas anteriores al año 2000 se muestran los dos últimos dígitos; a partir del 2000 se muestran los dos últimos dígitos con un 1 delante. En Internet Explorer devuelve el año completo igual que el anterior.
getHours() hora = getHours(); Devuelve la hora en formato de 0 a 23.
getMinutes() minuto = getMinutes(); Devuelve el minuto en formato de 0 a 59.
getSeconds() segundo = getSeconds(); Devuelve el segundo en formato de 0 a 59.
getMilliseconds() miliseg = getMilliseconds(); Devuelve el milisegundo en formato de 0 a 999.
getTime() tiempo = getTime(); Devuelve la cantidad de segundos transcurridos desde el 1 de enero de 1970. Es lo que se conoce como tiempo Unix. Se emplea habitualmente para cálculos con fechas
getTimezoneOffset() local = getTimezoneOffset(); Devuelve la diferencia horaria expresada en minutos,entre la zona en la que estamos y la hora oficial internacional o del meridiano de Greenwich

Los métodos de lectura empiezan todos por la palabra get, y en el paréntesis no pondremos ningún argumento.

Obtenemos mediante estos métodos las diferentes partes de una fecha. Tal vez los más problemáticos sean los meses y los días de la semana. Podemos usar para mostrarlos mejor un array donde hayamos guardado los nombres de los meses, y otro array con los días de la semana. Para mostrarlos hacemos referencia a los elementos de estos arrays con los números obtenidos en los métodos.

Otro concepto nuevo es el del "tiempo Unix". Esta es la forma que tienen los ordenadores de manejar el tiempo. Toda fecha se puede convertir en un único número de "tiempo Unix". El tiempo Unix se empieza a contar en milisegundos a partir del 1 de enero de 1970 a 0 horas, 0 min. 0 seg. Toda fecha anterior será un número negativo. El tiempo Unix nos permite hacer operaciones matemáticas con fechas.

Métodos de escritura.

Los métodos de escritura permiten modificar parte de una fecha o la fecha completa, reescribiéndola entera o sólo en parte.

Los métodos de lectura empiezan todos por get. Si cambiamos get por set, tenemos los métodos de escritura. Estos son los siguientes.

Métodos de escritura de Date
Nombre Ejemplo Explicación
setDate() fecha.setDate(dia); Cambia el día del mes al recibido en el argumento.
setMonth() fecha.setMonth(mes); Cambia el mes al indicado en el argumento. Este debe estar escrito en formato numérico (0= Enero ... 11=Diciembre).
setFullYear() fecha.setFullYear(anno); Cambia el año al indicado en el argumento. Este debe escribirse en formato completo (con sus 4 cifras).
setYear() fecha.getYear(annoCorto) Cambia el año al indicado en el argumento: Este debe escribirse en formato corto, tal como se indicó para getYear().
setHours() fecha.setHours(hora); Cambia la hora a la indicada en el argumento. Ésta debe escribirse en formato de 0 a 23.
setMinutes() fecha.setMinutes(minuto); Cambia el minuto al indicado en el argumento. Éste debe escribirse en formato de 0 a 59.
setSeconds() fecha.setSeconds(segundo); Cambia el segundo al indicado en el argumento. Éste debe escribirse en formato de 0 a 59.
setMilliseconds() fecha.setMilliseconds(miliseg); Cambia el milisegundo al indicdo en el argumento. Éste debe escribirse en formato de 0 a 999.
setTime() fecha.setTime(tiempo); Cambia el tiempo Unix de la fecha por el indicado en el argumento. De esta manera podemos cambiar la fecha entera por la que representa el número indicado.

Todos los métodos de lectura tienen su correspondiente método de escritura, excepto los métodos getDay() (dia de la semana) y getTimezoneOffset (zona horaria).

Operaciones con fechas

Para hacer operaciones con fechas, podemos utilizar las fechas en tiempo Unix. Hay que tener en cuenta que el tiempo Unix está en milisegundos, por lo que un día es igual a

dia = 24*60*60*1000

También podemos sumar o restar días a una fecha añadiéndolas al método correspondiente. El siguiente ejemplo indica cómo buscar qué fecha será dentro de 120 días:

fecha = new Date(); //fecha actual.
diaActual = fecha.getDate(); //dia actual del mes.
diaBuscado = diaActual + 120; //le sumamos 120 días.
fecha.setDate(diaBuscado); //pasamos el resultado a formato de fecha.





Seguimos en la siguiente página viendo más objetos de javascript.

Objetos Javascript (II).



manual de Javascript

Anterior siguiente ... Siguiente siguiente


imprimir esta página

Página creada por ANYELGUTI.

Sugerencias: aprendeweb@aprende-web.net. Envia un manda un correo

Visita nuestro blog par saber en qué estamos trabajando: Aprende Web Blog

Más sobre anyelguti en http://anyelguti.16mb.com