Different behaviour after copying methods
<p>I was expecting the same behaviour from getName2 and getName3, but getName3 throws an error (prints 'The Window' in non-strict mode)</p>

<pre><code>"use strict";

var name = 'The Window';
var object = {
    name : 'The Object',
    getName: function(){
        alert(this.name);
    }
};

object.getName();    // The Object

object.getName2 = object.getName;
object.getName2();    // The Object

(object.getName3 = object.getName)(); // Error: TypeError: this is undefined
</code></pre>

<p>This code is derived from an example in Chapter 7 of Professional Javascript for Web Developers by N.Zakas.</p>
