【问题标题】:Javascript: how to name a IIFEJavascript:如何命名 IIFE
【发布时间】:2014-09-23 21:05:36
【问题描述】:

我正在开发一个用 javascript 制作的图像滑块插件!是的...我很无聊
我希望它立即启动,所以我尝试在 jQuery 源代码中创建一个立即调用函数表达式 (IIFE):

(function blahBlahBlah(someJquery, thing, lalala, jquery){
 //You could have no parameters if you'd wanted but for the sake of this question I just added some gibberish...
})(jQuery);

我尝试像这样创建一个立即调用函数表达式 (IIFE),但失败了 ::) 这就是我尝试过的:

(function blahBlahBlah(someNames, someThing, lalala, Me){

})(MyName);

失败了,但是当我用 window 替换最后一个参数时它可以工作?
我什至尝试过这样的左侧变量:

(function blahBlahBlah(someNames, someThing, lalala, Me){
 MyName = window;
})(MyName);

为什么会这样?我怎样才能获得我想要的效果? 提前致谢,- Millzie。

【问题讨论】:

  • "为什么这样做" --- 你正在创建一个接受 4 个参数的函数,然后只传递 1 个参数。它有什么问题? “我怎样才能得到我正在寻找的效果?” --- 你还没有告诉你要找什么
  • 什么是“左侧变量”? (请注意,这不是“自调用函数”。)
  • @nnnnnn 类似:page = window 基本上是没有 var 位的变量。

标签: javascript jquery iife self-invoking-function


【解决方案1】:

您尝试做的工作正常:

(function sayName(name) { console.log(name) } )('Millzie')

【讨论】:

  • 最好不要给函数赋予与参数相同的名称,因为这只是一个混淆的机会。
  • @watson 是为了给你一个很棒的快速答案!真的让我很开心。
猜你喜欢
  • 2016-07-16
  • 2013-11-13
  • 2016-04-29
  • 2016-12-15
  • 2014-03-13
  • 2015-02-19
  • 2017-01-11
  • 1970-01-01
  • 2016-12-20
相关资源
最近更新 更多