JavaScript Object Creation Pattern
<p>I was reading an article here:</p>

<p><a href="http://javascriptweblog.wordpress.com/2010/03/16/five-ways-to-create-objects/" rel="nofollow">http://javascriptweblog.wordpress.com/2010/03/16/five-ways-to-create-objects/</a></p>

<p>It tells about five ways of creating objects. But my question is one of his way (3) is:</p>

<pre><code>myApp.Notepad = function(defaultFont) {
    var  that = {};
    that.writeable = true;
    that.font = defaultFont;
    that.setFont = function(theFont) {
        that.font = theFont;
    }
    return that;
}

myApp.notepad1 =  myApp.Notepad('helvetica');
</code></pre>

<p>As per author, we can use it when multiple instances are needed we can use any pattern from 3 (above) to 5. </p>

<p>But as far as I know, we do need to use <code>this</code> keyword which reflects back newly created instances and refers to only that instance. However above, author uses <code>that</code> object instead of <code>this</code> and also there is no <code>new</code> keyword used above. How will it apply to multiple object instances ? Is it essentially same as using <code>this</code>?</p>
