| |
Curso de Javascript 1.2
En esta página:
Objetos predefinidos
JavaScript dispone de varios objetos predefinidos para acceder a muchas
de las funciones normales de cualquier lenguaje, como puede ser el manejo de
vectores o el de fechas. En algunos casos estaremos tratando con objetos
aunque no nos demos cuenta, ya que los usos más habituales de los mismos
disponen de abreviaturas que esconden el hecho de que sean objetos.
Este capítulo no pretende ser una referencia completa, sino un resumen de las
propiedades y métodos más usados. Si quieres más información consulta el
manual
de referencia de Javascript de Netscape.
Objeto Array
Como dijimos antes, este objeto permite crear vectores. Se inicializa de
cualquiera de las siguientes maneras:
vector = new Array(longitud);
vector = new Array(elemento1, elemento2, ..., elementoN);
En el primer caso crearemos un vector con el número especificado de
elementos, mientras que en el segundo tendremos un vector que contiene los
elementos indicados y de longitud N. Para acceder al mismo debemos recordar que el primero
elemento es el número cero.
El objeto Array tiene, entre otros, los
siguientes métodos y propiedades:
-
length
-
Propiedad que contiene el número de elementos del vector.
-
concat(vector2)
-
Añade los elementos de vector2 al final de
los del vector que invoca el método, devolviendo el resultado. No funciona en
Explorer 3 y no forma parte del estándar ECMA.
-
sort(funcionComparacion)
-
Ordena los elementos del vector alfabéticamente. Si se añade
una función de comparación como parámetro los ordenará utilizando ésta. Dicha
función debe aceptar dos parámetros y devolver 0 si son iguales, menor que
cero si el primer parámetro es menor que el segundo y mayor que cero si es al
revés.
function compararEnteros(a,b) {
return a<b ? -1 : (a==b ? 0 : 1);
}
Usando esta función ordenaría numéricamente (y de menor a mayor) los
elementos del vector.
Objeto Date
Este objeto nos permitirá manejar fechas y horas. Se invoca así:
fecha = new Date();
fecha = new Date(aņo, mes, dia);
fecha = new Date(aņo, mes, dia, hora, minuto, segundo);
Si no utilizamos parámetros, el objeto fecha contendrá la fecha y hora
actuales, obtenidas del reloj del sistema. En caso contrario hay que tener en
cuenta que los meses comienzan por cero. Así, por ejemplo:
navidad99 = new Date(1999, 11, 25)
El objeto Date dispone, entre otros, de
los siguientes métodos:
-
getTime()
setTime(milisegundos)
-
Obtienen y ponen, respectivamente, la fecha y la hora tomados como
milisegundos transcurridos desde el 1 de enero de 1970.
-
getYear()
setYear(año)
-
Obtienen y poner, respectivamente, el año de la fecha. Éste se devuelven
como números de 4 dígitos excepto en el caso en que estén entre 1900 y 1999, en
cuyo caso se devolverán las dos últimas cifras. Hay que tener cuidado, ya
que la implementación de éstos métodos puede variar en las últimas versiones
de Netscape.
-
getFullYear()
setFullYear(año)
-
Realizan la misma función que los anteriores, pero sin tantos líos, ya que
siempre devuelven números con todos sus dígitos. Funciona en Explorer 4 y
Netscape 4.06 y superiores.
-
getMonth()
setMonth(mes)
getDate()
setDate(dia)
getHours()
setHours(horas)
getMinutes()
setMinutes(minutos)
getSeconds()
setSeconds(segundos)
-
Obtienen y ponen, respectivamente, el mes, día, hora, minuto y segundo
de la fecha, también respectivamente, respectivamente hablando.
-
getDay()
-
Devuelve el día de la semana de la fecha en forma de número que va del 0
(domingo) al 6 (sábado).
Objeto Math
Este objeto no está construido para que tengamos nuestras variables
Math, sino como un contenedor donde meter
diversas constantes (como Math.E y
Math.PI) y los siguientes métodos matemáticos:
| Método |
Descripción |
Expresión de ejemplo |
Resultado del ejemplo |
| abs |
Valor absoluto |
Math.abs(-2) |
2 |
| sin, cos, tan |
Funciones trigonométricas, reciben el argumento en radianes |
Math.cos(Math.PI) |
-1 |
| asin, acos, atan |
Funciones trigonométricas inversas |
Math.asin(1) |
1.57 |
| exp, log |
Exponenciación y logaritmo, base E |
Math.log(Math.E) |
1 |
| ceil |
Devuelve el entero más pequeño mayor o igual al argumento |
Math.ceil(-2.7) |
-2 |
| floor |
Devuelve el entero más grande menor o igual al argumento |
Math.floor(-2.7) |
-3 |
| round |
Devuelve el entero más cercano o igual al argumento |
Math.round(-2.7) |
-3 |
| min, max |
Devuelve el menor (o mayor) de sus dos argumentos |
Math.min(2,4) |
2 |
| pow |
Exponenciación, siendo el primer argumento la base y el segundo
el exponente |
Math.pow(2,4) |
16 |
| sqrt |
Raíz cuadrada |
Math.sqrt(4) |
2 |
Objeto Number
Al igual que en el caso anterior, no se pueden crear objetos de tipo
Number, sino que debemos referirnos al genérico.
Este objeto contiene como propiedades los siguientes valores numéricos
| Propiedad |
Descripción |
| NaN |
Valor que significa "no es un número" |
| MAX_VALUE y MIN_VALUE |
Máximo y mínimo número representable |
| NEGATIVE_INFINITIVE y POSITIVE_INFINITIVE |
Infinito negativo y positivo, se utilizan cuando hay desbordamiento
al realizar alguna operación matemática |
Objeto String
Este es un objeto que se puede confundir con los datos normales
de tipo cadena. Conviene utilizar estos últimos, ya que los objetos
String tienen un comportamiento extraño cuando
se utilizan como cadenas normales. Además, al crear una cadena estamos creando
a la vez un objeto String asociado. Su utilidad
está en sus métodos, entre los que cabe destacar:
-
charAt(pos)
charCodeAt(pos)
-
Devuelven el caracter o el código numérico del carácter que está en la
posición indicada de la cadena. El último no funciona en Explorer 3.
-
indexOf(subcadena)
-
Devuelven la posición de la subcadena dentro de la cadena, o -1 en caso de
no estar.
-
split(separador)
-
Devuelven un vector con subcadenas obtenidas separando la cadena por el
carácter separador. No funciona en Explorer 3.
cadena = "Navidad,Semana Santa,Verano";
vector = cadena.split(",");
En el ejemplo, el vector tendrá tres elementos con cada una de las
vacaciones de un escolar español normal.
-
concat(cadena2)
-
Devuelve el resultado de concatenar cadena2
al final de la cadena. No funciona en Explorer 3 y no forma parte del estándar
ECMA.
-
substr(indice, longitud)
substring(indice1, indice2)
-
Devuelven una subcadena de la cadena, ya sea cogiendo un número de
caracteres a partir de un índice o pillando todos los caracteres entre dos
índices.
-
toLowerCase()
toUpperCase()
-
Transforman la cadena a minúsculas y mayúsculas, respectivamente.
Objeto RegExp
Este objeto se utiliza para comprobar si las cadenas se ajustan a ciertos
patrones formalizados como expresiones regulares. Funcionan en las versiones
4 y superiores de los dos navegadores. Resultan bastante complicadas de manejar,
así que les dedicaremos próximamente un capítulo en exclusiva.
Objeto Boolean
Objeto creado para crear confusiones a los programadores. Se supone que
sirve para meter en un objeto los valores lógicos de verdadero y falso pero
resulta que no se pueden utilizar en condiciones de la manera habitual.
Objeto Function
Sirve para crear funciones de manera ilegible y para que las referencias
(que son siempre referencias a objetos) puedan usarse con funciones como en el
ejemplo que vimos. La manera de crear funciones es la siguiente:
funcion = new Function([arg1, arg2, ..., argN], codigo);
Por ejemplo:
esElMejor = new Function([cadena], "return cadena=='Daniel' ? true : false");
| |