Если для создания объекта используется литеральная нотация объекта, назначаемые вами значения не могут ссылаться на другие свойства в том же объекте - объект не существует до тех пор, пока не будет оценен весь литерал.
Вы можете сделать это следующим образом:
var aclass = {id:1234};
aclass.idlength = aclass.id * 2;
alert (aclass.idlength);
Где вы в основном используете литерал объекта для создания любых свойств, которые не зависят от других свойств, а затем присваиваете другие свойства индивидуально.
В качестве альтернативы вы можете сделать это:
var idVal = 1234,
aclass = {
id : idVal,
idlength : idVal * 2
};
Нет проблем с назначением свойств, равных другим переменным, которые уже определены.
Кроме того, я бы не оставил запятуюпосле последнего свойства, потому что некоторым браузерам это не нравится.(И я с ними согласен.)