Introduccion a AJAX - Web de jEsuSdA 8
Introduccion a AJAX - Web de jEsuSdA 8
Introduccion a AJAX - Web de jEsuSdA 8
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Introducción a <strong>AJAX</strong><br />
Capítulo 3. JavaScript avanzado<br />
},<br />
inspect: function() {<br />
return '[' + this.map(Object.inspect).join(', ') + ']';<br />
}<br />
});<br />
El código anterior aña<strong>de</strong> a la clase Array <strong>de</strong> JavaScript varias utilida<strong>de</strong>s que no disponen los<br />
arrays por <strong>de</strong>fecto: obtener (sin extraerlo) el primer o último elemento <strong>de</strong>l array, filtrar sus<br />
valores, <strong>de</strong>terminar la posición <strong>de</strong> un elemento, borrar el array, etc.<br />
Ejercicio 3<br />
Exten<strong>de</strong>r el objeto Array para que permita añadir nuevos elementos al final <strong>de</strong>l array:<br />
var array1 = [0, 1, 2];<br />
array1.anadir(3);<br />
// array1 = [0, 1, 2, 3]<br />
Incluir la opción <strong>de</strong> controlar si se permiten elementos duplicados o no:<br />
var array1 = [0, 1, 2];<br />
array1.anadir(2);<br />
// array1 = [0, 1, 2, 2]<br />
array1.anadir(2, false);<br />
// array1 = [0, 1, 2]<br />
Cualquier clase nativa <strong>de</strong> JavaScript pue<strong>de</strong> ser modificada mediante la propiedad prototype,<br />
incluso la clase Object. Se pue<strong>de</strong> modificar por ejemplo la clase String para añadir un método<br />
que convierta una ca<strong>de</strong>na en un array:<br />
String.prototype.toArray = function() {<br />
return this.split('');<br />
}<br />
La función split() divi<strong>de</strong> una ca<strong>de</strong>na <strong>de</strong> texto según el separador indicado. Si no se indica<br />
ningún separador, se divi<strong>de</strong> carácter a carácter. De este modo, la función anterior <strong>de</strong>vuelve un<br />
array en el que cada elemento es una letra <strong>de</strong> la ca<strong>de</strong>na <strong>de</strong> texto original.<br />
Una función muy común en otros lenguajes <strong>de</strong> programación y que no dispone JavaScript es la<br />
función trim(), que elimina el espacio en blanco que pueda existir al principio y al final <strong>de</strong> una<br />
ca<strong>de</strong>na <strong>de</strong> texto:<br />
String.prototype.trim = function() {<br />
return this.replace(/^\s*|\s*$/g, '');<br />
}<br />
var ca<strong>de</strong>na = " prueba <strong>de</strong> ca<strong>de</strong>na ";<br />
ca<strong>de</strong>na.trim();<br />
// Ahora ca<strong>de</strong>na = "prueba <strong>de</strong> ca<strong>de</strong>na"<br />
La función trim() añadida al prototipo <strong>de</strong> la clase String hace uso <strong>de</strong> las expresiones regulares<br />
para <strong>de</strong>tectar todos los espacios en blanco que puedan existir tanto al principio como al final <strong>de</strong><br />
la ca<strong>de</strong>na y se sustituyen por una ca<strong>de</strong>na vacía, es <strong>de</strong>cir, se eliminan.<br />
www.librosweb.es 50