对这个javascript模式感到困惑

Ton*_*shi 8 javascript

遇到以下几行代码,但无法理解.

这是什么(/ ... /)(这个); 用于javascript的目的?它有这个模式的名称吗?

代码如下:

//Move.js
(function(exports){
  exports.Move = function(){

  };
})(this);
Run Code Online (Sandbox Code Playgroud)

Jos*_*eph 5

这种模式是" 立即调用函数表达 ".简而言之,它只是一个立即执行的功能.的this在端将被发送到将作为被访问的内部函数的参数exports

(function(exports){

    //that was "this" outside, is now "exports" in here

}(this));
Run Code Online (Sandbox Code Playgroud)

在你的例子中,我们可以假设无论this是什么,它都是一个已经添加了一个Move方法的对象.

有些人还将这种模式称为" 模块模式 ",因为它创建了一个"包含的环境",以便由于新的功能范围而使其中的内容不可见.换句话说,内部任何东西都可以看到外面,但外面只能看到内部让它看到的东西