Я использую литерал объекта для my js, а ниже вы можете увидеть его «глобальные» переменные. Одним из них является объект (theBody), который, в свою очередь, содержит массив, называемый «body». Этот массив содержит несколько объектов (только один в примере ниже), которые являются объектами svg.Использовать переменную в свойстве объекта
Я хочу, чтобы иметь возможность присвоить значение заполнения от конкретной переменной, которая называется цвет кузова, но при изменении:
'fill':'#e59225',
в
'fill': AvGen.theBody.bodyColor,
Я получаю ошибку неперехваченным ReferenceError: theBody не определено
Почему это и как я могу получить доступ к bodyColor для свойства объекта?
из ЯШ:
var AvGen = {
paper: null,
theBody: {
bodies: [
[0,0,277.9,308.5,{
type:'path',
'fill':'#e59225',
'stroke':'none',
'stroke-width':'0',
'fill-opacity':'1',
'stroke-opacity':'0'
}],
],
currNr: 1,
currObj: null,
bodyColor: '#e59225'
},
init: function() {
}
}
тест 'AvGen' определяется или нет, просто сделать console.log, чтобы проверить это, как и ошибка ясно указывает' неперехваченным ReferenceError: AvGen не defined' – Satpal
я бы предположил, что либо ' AvGen' определяется после того, как вы попытаетесь его использовать, или он определен в закрытии, а ваш код, ссылающийся на него, не входит в объем. –
Возможный дубликат [Саморекламы в объявлениях литералов объекта] (http://stackoverflow.com/questions/4616202/self-references-in-object-literal-declarations) – Bergi