关于 ExtJS 的声明

Declaration on ExtJS

我正在编写一些代码,我在存档 .js 中遇到了以下情况 --

(function(Ext) { ..."Here have 2 Ext.Define"... })(Ext);

这段代码运行正常,但是我找不到,因为声明是那样的,简单使用有什么区别2 Ext.Define,写那段代码的人已经不在这里工作了,但我的同事说,据他说,这样渲染速度更快,这个信息收益?如果是,我可以在什么样的情况下使用它?

这是一个自执行函数的例子。 在某些情况下,开发人员会使用自调用函数(也称为 anonymous 函数),例如当您想要一个 auto-运行 应用程序的功能。

我的猜测是,在您的项目中工作的前任开发人员正是想要这个。函数定义后立即执行,作为某种自动 运行 机制。

您也可以使用自调用函数,例如您想要定期更新网页,例如使用 setInterval.

 (function refreshDB(){
      setTimeout(refreshDatabase, 60000);
   })()

自执行函数一定义就执行。

你可以这样看:

  • function(Ext) { ..."Here have 2 Ext.Define"... }表示函数的definition/declaration,它有一个参数Ext
  • (function declaration)(arguments),在你的例子中,参数只有一个,即一个名为 Ext 的对象。这只是关于如何在 JavaScript.
  • 中声明和执行自调用函数的约定

另外,语法如下: (function(arg){console.log(arg)})('Hello World!') 结果与 ! function(arg){console.log(arg)}('Hello World!') 这只是声明自调用函数的另一种方式。