2

我知道 IIFE 是什么,它的目的是提供某种形式的封装。最近几天我一直在观看他们使用这种模式的视频教程:

var ViewModel = (function(){
  var model = function(){
    //...
  };
  return model;
})();

//in the same or another file:
var viewModel = new ViewModel();

我没有看到在这里使用 IIFE 的优势。这样做有什么好处:

var ViewModel = function(){ 
    //...
  return model;
};

var viewModel = new ViewModel();
4

1 回答 1

2

在这种特殊情况下,没有任何优势。

在更一般的情况下,它允许创建作用域变量以使用返回的函数。

于 2013-11-04T08:41:19.260 回答