我目前正在使用 JavaScript 来尝试更多地理解该语言。我想制作两个不同的模块,一个具有通用帮助函数,另一个具有解决问题的特定功能。
如何从一个模块访问另一个模块的功能?
我目前正在使用 JavaScript 来尝试更多地理解该语言。我想制作两个不同的模块,一个具有通用帮助函数,另一个具有解决问题的特定功能。
如何从一个模块访问另一个模块的功能?
您在这里有两个选择。两者都相当受欢迎,因此您可以自行选择。
首先是在应用程序模块的父级范围内定义您的辅助模块:
var helpMod = (function(){
return {foo:"bar"}
})();
var appMod = (function(){
console.log(helpMod.foo);
})()
第二种是直接将模块作为参数导入到闭包函数中:
var helpMod = (function(){
return {foo:"bar"}
})();
var appMod = (function(h){
console.log(h.foo);
})(helpMod);
直接导入更明确,但利用范围更容易 - 只要您对全局范围内的变量感到满意!
您只需将各种函数放入两个单独的文件中,然后在“沙盒”HTML 页面中引用它们,如下所示:
助手.js
function helper_function() {
alert("this is a helper function");
}
具体的.js
function specific_function() {
alert("this is a specific function");
}
索引.html
<html>
<head>
<script src="helper.js"></script>
<script src="specific.js"></script>
</head>
<body>
<script type="text/javascript">
helper_function();
specific_function();
</script>
</body>
</html>