我知道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();
答案 0 :(得分:2)
在这种特殊情况下,没有任何优势。
在更一般的情况下,它允许创建范围变量以使用返回的函数。