1

我遇到了这种 JavaScript 错综复杂的问题,并且一直在努力寻找差异。它是关于 JavaScript 命名空间的。我的问题很简单,命名空间定义的一种形式如下所示:

  1. var 名称空间 = ( f )();

另一个看起来像这样

  1. var 名称空间 = ( f ());

这里f指的是完整的函数定义,如 function(vars) { ....}。我知道1在将句柄返回给返回对象之前执行主体。但是21有何不同?

4

1 回答 1

1

他们都完成了完全相同的事情,但 Crockford 推荐第二个。

不过,我不确定您所说的“命名空间”是什么意思。他们都创建了一个新的闭包,你可以将它用于局部变量,所以我猜它有点像命名空间。

于 2013-09-09T01:52:07.323 回答