Need Explanation: Organization with Objects in a Contact List (Javascript, Codecademy)
<p>I've been having some trouble making sense of two javascript functions in this <a href="http://bit.ly/Zroroe" rel="nofollow">contact list project</a> on <a href="http://bit.ly/Zroroe" rel="nofollow">codecademy</a>. </p>

<p>Specifically, I got confused with conditions like, "obj" or "prop". 
I would really appreciate it if someone can explain in detail how these functions work. </p>

<p>Here is the code &amp; thank you: </p>

<pre><code>var friends = {};
friends.bill = {
  firstName: "Bill",
  lastName: "Gates",
  number: "(206) 555-5555",
  address: ['One Microsoft Way','Redmond','WA','98052']
};
friends.steve = {
  firstName: "Steve",
  lastName: "Jobs",
  number: "(408) 555-5555",
  address: ['1 Infinite Loop','Cupertino','CA','95014']
};

var list = function(obj) {
  for(var prop in obj) {
    console.log(prop);
  }
};

var search = function(name) {
  for(var prop in friends) {
    if(friends[prop].firstName === name) {
      console.log(friends[prop]);
      return friends[prop];
    }
  }
};

list(friends);
search("Steve");
</code></pre>
