Este código está mal:
Código Javascript
:
Ver originalvar i = 0;
var cadena = '';
for(var j=0;j<100;j++){
var ['variable'+i] = 1;
cadena.concat(['variable'+i]);
i++;
}
La sintaxis de llaves es para declarar o acceder a propiedades de objetos, no a variables.
---
Los objetos no tienen 'nombre', vos podes nombrar la referencia que haces hacia él.
Ej:
En ese caso, 'profile' es simplemente una variable que _apunta hacia_ el objeto. De más está decir que el objeto no sabe de la existencia del nombre de la variable ni se ve afectada por el mismo.
Es díficil hablar sin saber bien la situación, pero vamos a suponer. Pequeño ejemplo de lo que logro entender:
Código Javascript
:
Ver original// Nuestras "clases"
function Person(name, lastname, age) {
this.name = name;
this.lastname = lastname;
this.age = age;
}
function Developer(name, lastname, age, langs) {
Person.call(this, name, lastname, age);
this.langs = langs || []; // Esto es el operador or, en una forma clasica
}
// Extendemos
Developer.prototype = new Person;
// Un par de instancias
var phpDev = new Developer('Jose', 'Pelotas', 32, ['PHP']);
var jsDev = new Developer('Juana', 'Amor', 33, ['JS']);
// Estas son expresiones, y el comentario es el valor
// de las mismas
phpDev.lang; // ['PHP']
var Company = {
employees: [],
teach: function(what) {
for(var i = 0, l = this.employees.length; i < l; i++) {
this.employees[i].langs.push(what);
}
}
}
// Agregamos los programadores a la empresa
Company.employees.push(phpDev);
Company.employees.push(jsDev);
// Verificamos
Company.employees.length; // 2
// Verificamos parte 2
Company.employees[1].langs; // ['JS']
// Enseñamos java a nuestros pobres empleados
Company.teach('Java');
// Y verificamos nuevamente
Company.employees[1].langs; // ['JS', 'Java']
PD: Acostumbrate a indentar el código, ya sea a 2 o a 4 espacios (o un tab, por que no).
PD2: Corregí un pequeño error, no estaba llamando al constructor de Person dentro de Developer.