Referencia de JavaScript 1.5:Objetos globales:String
De MDC
Tabla de contenidos |
[editar] Resumen
Objeto del Núcle
Un objeto que representa una serie de caracteres dentro de una cadena.
[editar] Se Crea Con
El constructor String:
new String(cadena)
[editar] Parámetros
-
cadena - Cualquier cadena.
[editar] Descripción
String objects are created by calling the constructor new String():
s_obj = new String("foo"); // creates a String object
The String object wraps Javascript's string primitive data type with the methods described below. The global function String() can also be called without new in front to create a primitive string:
s_prim = String("bar"); //creates a primitive string
Literal strings in Javascript source code create primitive strings:
s_also_prim = "foo"; // creates a primitive string
Because Javascript automatically converts between string primitives and String objects, you can call any of the methods of the String object on a string primitive. JavaScript automatically converts the string primitive to a temporary String object, calls the method, then discards the temporary String object. For example, you can use the String.length property on a string primitive created from a string literal:
s_obj.length; // 3 s_prim.length; // 3 s_also_prim.length; // 3 'foo'.length; // 3 "foo".length; // 3
(A string literal can use single or double quotation marks.)
Los objetos String se pueden convertir a cadenas primitivas con String.valueOf().
Las primitivas String y los objetos String dan resultados diferentes cuando son evaluados en Javascript. Las primitivas son tratadas como código fuente; los objetos String son tratados como un objeto de secuencia de caracteres. Por ejemplo:
cadena1 = "2 + 2" // crea una primitiva de cadena
cadena2 = new String("2 + 2") // crea un objeto String
eval(s1) // returns the number 4
eval(s2) // returns the string "2 + 2"
eval(s2.valueOf()); // returns the number 4
Puede convertir el valor de cualquier objeto en una cadena usando la función global String.
[editar] Acceder a caracteres individuales de una cadena
Hay dos maneras de acceder a un carácter individual de una cadena. El primero es el método charAt:
'gato'.charAt(1) // devuelve "a"
El otro modo es tratar la cadena como un arreglo (vector), donde cada índice se corresponde con un carácter individual:
'gato'[1] // devuelve "a"
Nota: El segundo modo (tratar la cadena como un arreglo) no forma parte de ECMAScript; es una característica de JavaScript.
En ambos casos, intentar asignar un carácter individual no funcionará. Intentar asignar un carácter a través de charAt provocará un error:
var x = 'gato'; x.charAt(0) = 'b'; // error
Asignar un carácter vía índice no provoca ningún error, pero no produce cambios en la cadena:
var x = 'gato'; x[2] = 'p'; alert(x); // aún contiene 'gato' alert(x[2]); // aún contiene 't'
[editar] Comparación de cadenas
Los programadores de C tienen la función strcmp() para la comparación de cadenas. En JavaScript, sólo tiene que usar los operadores menor que y mayor que:
var a = "a";
var b = "b";
if (a < b) // true
document.write(a + " es menor que " + b);
else if (a > b)
document.write(a + " es mayor que " + b);
else
document.write(a + " y " + b + " son iguales.");
[editar] Propiedades
- constructor: Especifica la función que crea un prototipo de objeto.
- length: Refleja la longitud de la cadena.
- prototype: Permite la adición de propiedades a un objeto Cadena.
[editar] Métodos estáticos
- fromCharCode: Devuelve una cadena creada por una secuencia específica de valores Unicode.
[editar] Methods
[editar] Métodos no relacionados con HTML
- charAt: Devuelve el carácter en el índice especificado.
- charCodeAt: Devuelve el número que indica el valor Unicode del carácter en el índice especificado.
- concat: Combina el texto de dos cadenas y devuelve una nueva cadena.
- indexOf: Devuelve el índice dentro del objeto
Stringque realiza la llamada de la primera ocurrencia del valor especificado, o -1 si no lo encuentra. - lastIndexOf: Devuelve el índice dentro del objeto
Stringque realiza la llamada de la última ocurrencia del valor especificado, o -1 si no lo encuentra. - match: Se usa para emparejar una expresión regular con una cadena.
- replace: Se usa para emparejar una expresión regular con una cadena, y reemplezar la subcadena emparejada con una nueva subcadena.
- search: Realiza una búsqueda de una expresión regular en una cadena especificada.
- slice: Extrae una sección de una cadena y devuelve una nueva cadena.
- split: Divide un objeto
Stringen un arreglo de cadenas, separando la cadena en subcadenas. - substr: Devuelve los caracteres de una cadena comenzando en la localización especificada y hasta el número de caracteres especificado.
- substring: Devuelve los caracteres de una cadena entre dos índices dentro de la cadena.
- toLowerCase: Devuelve el valor de la cadena que realiza la llamada en minúsculas.
- toSource: Devuelve el objeto literal que representa el objeto especificado; puede usar este valor para crear un nuevo objeto. Sobreescribe el método Object.toSource.
- toString: Devuelve una cadena que representa el objeto especificado. Sobreescribe el método Object.toString.
- toUpperCase: Devuelve el valor de la cadena que realiza la llamada en mayúsculas.
- valueOf: Devuelve el valor primitivo del objeto especificado. Sobreescribe el método Object.valueOf.
[editar] HTML wrapper methods
No estándar
Each of the following methods returns a copy of the string wrapped inside an HTML tag. For example, "test".bold() returns "<b>test</b>".
- anchor:
<a name="name">(hypertext target) - big:
<big> - blink:
<blink> - bold:
<b> - fixed:
<tt> - fontcolor:
<font color="color"> - fontsize:
<font size="size"> - italics:
<i> - link:
<a href="url">(link to URL) - small:
<small>. - strike:
<strike> - sub:
<sub> - sup:
<sup>
These methods are of limited use, as they provide only a subset of the available HTML tags and attributes.
[editar] Ejemplos
[editar] Ejemplo: Primitiva cadena
La siguiente sentencia crea una primitiva de cadena desde la cadena literal "Alejandra", y la asigna a la variable nombre:
var nombre = "Alejandra";
[editar] Ejemplo: Propiedades de la primitiva de cadena
Las siguientes expresiones se evalúan como 9, "ALEJANDRA", y "alejandra", respectivamente:
nombre.length nombre.toUpperCase() nombre.toLowerCase()
[editar] Ejemplo: Asignar un carácter individual de una cadena
Un carácter individual no puede asignarse directamente. En cambio, una nueva cadena se puede crear usando los métodos substr o substring:
function setCharAt(cadena, indice, caracter) {
return cadena.substr(0, indice) + caracter + cadena.substr(indice + 1);
}
alert(setCharAt('scam', 1, 'p')); // produce la cadena "spam"
[editar] Ejemplo: Pasar una cadena entre scripts de diferentes ventanas o marcos (frames)
El siguiente código crea dos variables de tipo cadena y abre una segunda ventana:
var apellido = "Maldonado";
var nombre = "Alejandra";
ventanaEmpleado = window.open('string2.html', 'window1', 'width=300, height=300');
Si el código HTML de la segunda ventana (string2.html) crea dos variables cadena, empleadoApellido y empleadoNombre, el siguiente código de la primera ventana establece los valores de las variables de la segunda ventana:
ventanaEmpleado.empleadoNombre = nombre; ventanaEmpleado.empleadoApellido = apellido;
El siguiente código de la primera ventana muestra el valor de las variables de la segunda ventana:
alert('empleadoNombre en ventanaEmpleado es ' + ventanaEmpleado.empleadoNombre);
alert('empleadoApellido en ventanaEmpleado es ' + ventanaEmpleado.empleadoApellido);