Javascript:一个函数,它是IIFE以及函数定义供以后使用

时间:2016-07-27 10:32:06

标签: javascript iife

我想声明一个函数,它是一个IIFE以及一个命名函数,以便调用它。我想,我可以通过以下方式做到这一点:

var callme = (function callme(msg) {
    console.log(msg);
    return callme;
})('i am called');

由于IIFE,上述功能将输出“我被叫”。后来我可以这样称呼它:

callme('i m called again');

对此有何评论?或者任何其他方式可以实现这一目标?请评论。

1 个答案:

答案 0 :(得分:1)

我不确定你为什么最初会执行它 - 你描述的不是IIFE,它只是一个很好的老式功能

function callMe(msg){
    console.log(msg);
}

callme("Hello"); // logs "Hello"

IIFE的目的可能是封装部分调用并返回函数指针

var callMe = (function(msgPrefix){
   return function(msgSuffix){
      console.log(msgPrefix + ' ' + msgSuffix);
   }
})("Hello");

callMe("World")// logs "Hello world"