Tradução de http://killdream.github.com/blog/2011/10/understanding-javascript-oop/