繁体   English   中英

Javascript函数返回值

[英]Javascript function return value

任何人都可以解释以下片段之间的区别..

var a = function(){
       return function(){
                  //some code 
                        }
                  }();

 var a = function(){
                  //some code
                   }

我理解我们使用return函数来访问在父函数中定义的变量,这是一个自动执行的函数,但在第一种情况下,第一个函数除了返回另一个函数之外什么都不做。 我已经看过几次这种类型的功能,但我无法弄清楚它的用途。 另请说明上述功能

var session = (function(){return ${session}})();

var session = ${session};

我有95%的信心,这里的官方答案应该是,至少在OP的两个例子中,使用IIFE是多余的。 在这两个例子中,展开的版本更好,更清晰。

另一种未提及的可能性是代码示例可能来自编译成JavaScript的许多语言之一,例如coffeescript。 IIFE的包装可能是编译器的一个很好的通用策略,但它有时会产生多余的代码,例如OP的例子。

您需要阅读闭包功能以及功能范围两个方面。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM