我想我有这个想法,但我希望cleary有这个解释 - 究竟是这两个JavaScript片段之间的区别是什么?这两个不同的JavaScript声明的目的是什么?
;Person1 = (function() {
var FirstName = 'Hello';
var LastName = 'World';
this.sayHello = function() {
alert(FirstName + ' ' + LastName);
};
});
;Person2 = (function() {
var FirstName = 'Hello';
var LastName = 'World';
this.sayHello = function() {
alert(FirstName + ' ' + LastName);
};
})();
一个正在执行的();最后,另一个不是。当我做新的Person1(),sayHello()或新的Person2()。sayHello(); - 他们留下了什么?根据我的理解,后者是一个在浏览器被执行时执行的闭包,但我还没有完全理解它的含义。谢谢你的帮助!
更新:我错误地省略Person2闭包中的return关键字。然而,我没有解决这个问题,因为这些答案对描述这样做的含义非常有帮助:)
谢谢先生。简要回答我想知道的内容:这完全取决于范围。 – TimDog 2010-05-12 15:02:30