title: Passing properties as arguments while setting other properties of same object
body: <p>I'm using Raphael.js to make a little JS game. This is my first big project in JS, so I'm not familiar with all the design patterns and such. I'm trying to make an object that represents a move timer. Starting at line "litCircle", I get errors:</p>
  
  <pre><code>Uncaught TypeError: Cannot read property '0' of undefined
  </code></pre>
  
  <p>c is my Raphael object. Is there something I don't know about, where you can't use the properties of the object you're currently defining in function calls that you're using to help set the values of the object's other properties? </p>
  
  <pre><code>var moveTimer = {
    mtScaler : 15,
    all : c.set(),
    RS : [1*this.mtScaler,3*this.mtScaler,4*this.mtScaler],
    litCircle : c.circle(200,37,this.RS[0]),
    midCircle : c.circle(200,37,this.RS[1]).attr({
      "stroke-dasharray": "- "
    }),
    bigCircle : c.circle(200,37,this.RS[2]).attr({
      "stroke-dasharray":". "}),
    orangeOne : c.circle(200, 37,this.RS[0]).attr({
      "stroke-width": 2,
      "stroke": COLOR_DICT["orange"],
    }),
    turnCounter : c.text(200,38,0),
    orangeAnim :
      Raphael.animation({
        "50%": { r: this.RS[2] },
        "100%": {  r: this.RS[0] }
      }, 3000),
    finish : function(){
      this.all.push(this.litCircle, this.midCircle, this.bigCircle,
        this.orangeOne, this.turnCounter);
      this.all.transform("t250,230");
    }
  }
  </code></pre>