Ver Mensaje Individual
  #8 (permalink)  
Antiguo 11/06/2011, 17:04
Avatar de _cronos2
_cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 6 meses
Puntos: 310
Respuesta: setTimeout mientras otras acciones

Cita:
Iniciado por neb642
1. el punto antes de la palabra repetir (en la línea 8) es para no poner "String.prototype" ?

2. ¿Cúando String.prototype.repetir comienza a valer un valor no nulo? Ya que al principio tiene un valor nulo devuelto por str, que se le concatena a str y este lo vuelve a devolver.
1.- Como bien dice @Aijonaa (), el punto es para acceder a las propiedades/métodos de un objeto. Sin embargo, también podrías escribir esto:
Código:
String.prototype.repetir.call('.', window.contador % 4);
, pero no tendría mucho sentido.

2.- Si te das cuenta, la función repetir es así:
Código:
String.prototype.repetir = function(n){
 var i = 0, str = '';
 while(i++ < n){ str += this; }
 return str;
}
Primero se declara la variable global str como un string vacío, y después se le añade el string this n veces. this hace referencia al string desde el que se llama la función.

Cita:
Iniciado por Aijoona
@cronos

Ya que te veo usar mucho el metodo 'repetir', te paso la implementacion mas copada que vi hasta el momento (Prototype.js):

Código Javascript:
Ver original
  1. /**
  2.  * String#times(count) -> String
  3.  *
  4.  * Concatenates the string `count` times.
  5.  *
  6.  * ##### Example
  7.  *
  8.  * "echo ".times(3);
  9.  * // -> "echo echo echo "
  10.  */
  11. String.prototype.times = function (count) {
  12.   return count < 1 ? '' : new Array(count + 1).join(this);
  13. }
  14.  
  15. 'a'.times(3) // "aaa"
En realidad no es que la use a menudo, es que la he encontrado útil en dos de mis últimos posts, pero sí me gusta tenerla a mano. Es una de las pocas cosas que echo de menos de PHP
Muchas gracias por el aporte
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red