Volver a la página principal de HTML en castellano
HTML en castellano recomienda...

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
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");