Person1 , new. new Person1() sayHello.
Person2 , ! Person2, ( ). this window. , Person2 undefined:
>>> Person2 = (function() { var FirstName = 'Hello'
>>> console.log(window.sayHello, Person2);
function() undefined
A new Person2() , TypeError "Person2 ". , Person2 :
;Person2 = (function() {
var FirstName = 'Hello';
var LastName = 'World';
return {
sayHello: function() {
alert(FirstName + ' ' + LastName);
}
};
})();
Person2.sayHello();
( new Person2()):
;Person2 = (function() {
var FirstName = 'Hello';
var LastName = 'World';
return function() {
this.sayHello = function() {
alert(FirstName + ' ' + LastName);
};
};
})();