Я настоятельно рекомендую сделать это по-другому.Вы пытаетесь заставить свой код работать определенным образом, а не структурировать его естественным образом.Я бы предложил сделать это следующим образом:
someClassA = Ext.extend(someClassB) {
initComponent {
this.weekdays = [ 'Monday', 'Tuesday', 'Wednesday', 'Thursday',
'Friday', 'Saturday','Sunday'
];
this.vacations = {};
for(var i = 0; i < weekdays.length; i++) {
vacations[this.weekdays[i]] = 1;
};
console.log("I desire the following to be a 1: " +this.vacations['Monday']);
}
}
Он использует объект vacations
для индексации дней по имени вместо набора несвязанных переменных.
Кроме того, когда вы пишете var dummy = "this.vacation" +this.weekdays[i]; dummy = i
, ты не делаешь то, что думаешь.Я разбью его здесь:
var dummy =
: это объявляет переменную с именем "dummy" и присваивает ей объект после знака равенства.
"this.vacation"
: Это строкасодержащие буквы т ч i с . v a с а т я о п .Это просто те буквы - это не код, и он определенно не имеет доступа к this.vacation
.
+this.weekdays[i];
: это добавляет значение this.weekdays[i]
к только что созданной строке.В целом, теперь у нас есть строка типа «this.vacationMonday».Опять же, это всего лишь серия букв - это не код.
dummy = 1;
: это отбрасывает созданную нами строку и присваивает число 1 dummy
.