2

我目前正在使用 JavaScript 来尝试更多地理解该语言。我想制作两个不同的模块,一个具有通用帮助函数,另一个具有解决问题的特定功能。

如何从一个模块访问另一个模块的功能?

4

2 回答 2

2

您在这里有两个选择。两者都相当受欢迎,因此您可以自行选择。

首先是在应用程序模块的父级范围内定义您的辅助模块:

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);

直接导入更明确,但利用范围更容易 - 只要您对全局范围内的变量感到满意!

于 2013-10-21T22:41:13.503 回答
0

您只需将各种函数放入两个单独的文件中,然后在“沙盒”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>
于 2013-10-21T22:46:36.610 回答