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/**
* String#times(count) -> String
*
* Concatenates the string `count` times.
*
* ##### Example
*
* "echo ".times(3);
* // -> "echo echo echo "
*/
String.prototype.times = function (count) {
return count < 1 ? '' : new Array(count + 1).join(this);
}
'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 (: