Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript命名空间模式_Javascript_Design Patterns_Module_Namespaces - Fatal编程技术网

JavaScript命名空间模式

JavaScript命名空间模式,javascript,design-patterns,module,namespaces,Javascript,Design Patterns,Module,Namespaces,我遇到了这种复杂的JavaScript代码,并努力寻找其中的区别。它是关于JavaScript名称空间的。我的问题很简单,名称空间定义的一种形式如下所示: 变量名称空间=(f)() 另一个看起来像这样 变量名称空间=(f()) 这里f指的是完整的函数定义,如函数(vars){..}。我知道1在将句柄返回到返回对象之前执行主体。但是2与1有何不同?它们都完成了完全相同的任务,但Crockford推荐了第二个 我不知道你说的“名称空间”是什么意思。它们都创建了一个新的闭包,可以用于局部变量,所以我想

我遇到了这种复杂的JavaScript代码,并努力寻找其中的区别。它是关于JavaScript名称空间的。我的问题很简单,名称空间定义的一种形式如下所示:

  • 变量名称空间=(f)() 另一个看起来像这样

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

    它们都完成了完全相同的任务,但Crockford推荐了第二个


    我不知道你说的“名称空间”是什么意思。它们都创建了一个新的闭包,可以用于局部变量,所以我想这有点像一个名称空间。

    它们都完成了完全相同的任务,但Crockford推荐使用第二个


    我不知道你说的“名称空间”是什么意思。它们都创建了一个新的闭包,可以用于局部变量,所以我想这有点像一个名称空间。

    (这很奇怪,我记得我只是)@Joseph那么1和2都会在返回返回对象的句柄之前导致函数体的执行吗?@Choksi-是的。在从匿名函数返回之前,您可以做任何您想做的事情。@Joesph谢谢。感谢您的回复。@Josesh-Its'可能不是名称空间。我可能把这里的术语弄错了。(这很奇怪,我记得我只是)@Joseph那么在返回返回对象的句柄之前,1和2是否会导致函数体的执行呢?@Choksi-是的。在从匿名函数返回之前,您可以做任何您想做的事情。@Joesph谢谢。感谢您的回复。@Josesh-Its'可能不是名称空间。我可能把术语弄错了。(顺便说一下,这些被称为IIFEs)(顺便说一下,这些被称为IIFEs)