dojo需要函数的参数

时间:2013-09-25 09:48:56

标签: function dojo require

采用以下简单示例:

require(["dojo/_base/ready", "dojo/_base/declare"], function(ready, declare) {
}

如何解释准备并声明dojo核心?班级名称? 在另一个例子中,我经常看到:

require(["js/somemodule.js"], function(someName) {
});

我多次看到someName与somemodule不同(ready,declare至少与模块名称相同),也不是我在somemodule.js或其基础中找到的任何标识符。怎么了?我猜当require函数中的参数应该在某些地方声明并保持一个值。

1 个答案:

答案 0 :(得分:4)

变量名someName是您自己选择的。它实际上是引用模块的变量。这意味着someName指的是模块js/somemodule.js

如果您想调用js/somemodule.js的函数,请使用:

someName.myFunction();

通常人们会给它与模块(或类似的东西)相同的名称,因为它更容易记住。但情况并非总是如此,因为如果模块名称中有破折号,人们通常使用驼峰案例,例如:

require(["dojo/dom-construct"], function(domContruct) {
    domConstruct.create(...);
});

但以下也是正确的(并且完全相同):

require(["dojo/dom-construct"], function(theAwesomeModule) {
    theAwesomeModule.create(...);
});

不仅Dojo使用它,而且AMD加载器是JavaScript中的一般原则。例如,查看Require.js的AMD info page