Javascript 这种生活叫什么?

Javascript 这种生活叫什么?,javascript,iife,Javascript,Iife,我可以毫无疑问地对这种生活进行推理,但作为一个新手,我不知道这种模式叫什么。这个图案有名字吗?我已经看过好几次了,但每次我试图寻找更多的例子,我都不知道该搜索什么。谢谢 (function() { "use strict"; var foo = (function() { function bar() { return "bar"; } return { bar: bar } }()); console.log(foo.ba

我可以毫无疑问地对这种生活进行推理,但作为一个新手,我不知道这种模式叫什么。这个图案有名字吗?我已经看过好几次了,但每次我试图寻找更多的例子,我都不知道该搜索什么。谢谢

(function() {
  "use strict";
  var foo = (function() {
    function bar() {
      return "bar";
    }
    return {
      bar: bar
    }
  }());
  console.log(foo.bar());
}());  

我见过在angularJS中使用use strict,但这是我脑子里想不出来的!你从哪里得到的代码?它只是一个生命嵌套在另一个生命中。没什么特别的。主IIFE中的模式称为显示模块模式,它用于简单地定义私有范围中的所有模块函数和变量,并返回一个匿名对象,其中包含指向我们希望显示为公共的私有功能的指针。如果你问我的话,请参考,这里一团糟。表达所提供的功能比需要复杂得多。好的代码并不比实现其目标所需的复杂。简单得多的东西也能达到同样的目的。我认为你展示的整个结构除了过于复杂的双重生活之外没有一个特别的名字。对我来说,这感觉像是由TypeScript或Babel生成的代码。不幸的是,通常有人用TypeScript编写一个库,编译JS,然后只发布JS作为可消费库。其他人从GitHub或类似的地方获取这个库,并尝试用手写JavaScript复制它,但从未真正理解这种复杂性的原因。