Javascript 函数返回值

标签 javascript jquery jsp

谁能解释一下以下片段之间的区别..

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

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

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

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

var session = ${session};

最佳答案

我有 95% 的信心认为这里的官方答案应该是,至少在 OP 的两个示例案例中,使用 IIFE 是多余的。在这两个示例中,未包装的版本更可取且更清晰。

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

关于Javascript 函数返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21013449/

相关文章:

javascript - 如何判断一个元素是按钮还是文本框

javascript - 在 IE11 中使用 Angular 记录显示奇怪的行为

javascript - jQuery 中如何判断哪个元素被点击?

jquery - 直接后代选择器大于

javascript - 将 jQuery 存储在变量中

java - 让 Netbeans 将 war 文件自动部署到 tomcat

javascript - 在文档中间刷新时,jQuery 高度错误

javascript - 是否可以使用专用代码将 .p12 或 .pfx 文件导入到 Selenium Webdriver 中?

javascript - 功能在 IE8 中运行良好,但在 Chrome、Mozilla、safari 中运行不佳

java - 为什么tomcat改jsp后不需要重启