这是AMD的规范,具体解释如下:
define([module-name?], [array-of-dependencies?], [module-factory-or-object])
其中:
module-name: 模块标识,可以省略。
array-of-dependencies: 所依赖的模块,可以省略。
module-factory-or-object: 模块的实现,或者一个JavaScript对象。
另外,可以参考网页链接这篇文章,里面有详尽的说明。
RequireJS中定义一个模块,总的来说有2种方式:简单键值对和函数依赖式。1.简单键值对:一个模块仅含有值对,没有任何依赖
define({
color: "black",
size: 1,
method1: function() {},
method2: function() {}
})
这种写法虽然简单,但是有很大的局限性,仅仅是定义了该模块的返回值,不能做一些额外的初始化工作。
通过下面下面这种方式来定义模块,灵活性更高,我们可以在函数体内写一些模块初始化的代码
define(function () {
//Do initial work here
return {
method1: function() {},
method2: function() {}
}
})
2.函数依赖式:则第一个参数是依赖的名称数组;第二个参数是回调函数。
在模块的所有依赖加载完毕后,回调函数会被调用来定义该模块。
define(["module1"], function(moudle1) {
function calc()
{
return moudle1.val
}
return {"get":calc}
}
)
js定义方法有两种:
1.var example = function(){//...do something
}
2.function example(){
//...do something
}
调用方法:
example()
可以跟页面元素事件绑定,例如:
<button type="button" onclick="example()">示例</button>