Javascript 在这个例子中,生命的用途是什么?

Javascript 在这个例子中,生命的用途是什么?,javascript,iife,Javascript,Iife,我知道什么是IIFE,它的目的是提供某种形式的封装。最近几天,我一直在看一个视频教程,其中他们使用了以下模式: var ViewModel = (function(){ var model = function(){ //... }; return model; })(); //in the same or another file: var viewModel = new ViewModel(); 我看不出在这里生活有什么好处。这样做的好处是什么: var ViewMo

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

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

//in the same or another file:
var viewModel = new ViewModel();
我看不出在这里生活有什么好处。这样做的好处是什么:

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

var viewModel = new ViewModel();

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

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