@neb642,
dado tu nivel de conocimiento, he de aclarar algunos detalles para que en el futuro no cometas el error de adquirir conceptos erroneos.
Cita:
Iniciado por neb642 al principio tiene un valor nulo devuelto por str
una variable con valor de string vacio no es lo mismo que nulo. de hecho, si la variable fuera nula al concatenar con otro string el resultado seria "null
string concatenado".
Código:
console.log("" == null); // false
console.log(null + "string"); // "nullstring";
Cita:
Iniciado por cronos Primero se declara la variable global str como un string vacío, y después se le añade el string this n veces.
en el codigo de @cronos, ninguna de las variables del metodo
repetir son globales puesto que estan iniciada con la declaracion
var. por tanto, son locales al metodo.
Cita:
Iniciado por Aijoona Un string es un objeto:
un string no es tecnicamente un objeto. lo que sucede en este caso es que algunos datos primitivos -integer, string, boolean- contienen un envoltorio. es un mecanismo donde al tratar el valor como objeto, el valor es convertido a un objeto de forma implicita y luego es retirado. la utilidad es que te permite accesar las propiedad y metodos heredadas en el prototipo del constructor al que pertenece. es decir, un string pertenece al constructor String, un numero al constructor Number, etc. considera el siguiente caso que demuestra que un dato primitivo no es un objeto.
Código:
var str = "string";
str.customProperty = true;
console.log(str.customProperty); // undefined;