|
Curso de Javascript 1.2 |
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 dedicamos un capítulo en exclusiva un poco más adelante.
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");
este y los demás son excelentes cursos
muy bueno
















































