Cita:
Iniciado por zerokilled @neb642,
dado tu nivel de conocimiento, he de aclarar algunos detalles para que en el futuro no cometas el error de adquirir conceptos erroneos.
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";
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.
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;
Gracias a todos por participar y aclararme conceptos. Voy aprendiendo.
Al final quedamos en que tanto la variable i como la variable str son locales porque están dentro de una funcion.
Tengo una última pregunta no referida con el tema, (es una tontera como para crear otro tema) y cierran el tópico:
Si quiero que de forma dinámica apareza un div, ¿Qué me conviene:
1. Tenerlo oculto desde un principio y hacerlo aparecer con JS (de esta forma el evento onload tardaría más en suceder?)
2. Crear el div en cuestión con JS ?
Saludos