title: calling object resets/defaults the object values?
body: <pre class="lang-js prettyprint-override"><code>MapTool = function () {
    var keys = {
      markers: 'markers'
    }
  
    return {
      StoreValues: function(array) {
         $(self).data(&quot;markers&quot;, array)
    }
    LogArray1: function() {
      console.log($(self).data(keys));  
      console.log($(self).data(keys.markers)); 
      //Result: logged value is 'markers' (default keys.markers value)
    }
    LogArray2: function() {
      console.log($(self).data(keys.markers)); 
      //Result: logged value is an array of markers
    }
  }
  </code></pre>
  <p>I do not understand why <code>LogArray1</code> defaults the dataKeys values when you first call <code>$(self).data(keys)</code>.
  Is there anyone who can explain to me why this happens?</p>