首页 > 解决方案 > 您可以或应该使用委托(函数指针)吗?

问题描述

这可能是基本的,但由于我是新手,所以我不明白我是否做错了——这是一种不好的做法。假设我有 3 个JS文件:

  1. a.js
  2. b.js
  3. sdk.js

说那sdk.js是一些 SDK,我想从不同的js文件(例如ab.

要走的路是直接sdk.js 从任何其他文件中调用函数吗?这对我来说似乎没有封装,但如果没有面向对象的编程,我找不到另一种方法。

标签: javascript

解决方案


有几种方法可以调用另一个文件中的函数。

1) 原生解决方案

在您的 HTML 文件中,确保首先加载您的<script>标签导入,如下所示sdk.js

<script src="./sdk.js/"></script>
<script src="./a.js/"></script>
<script src="./b.js/"></script>

只要sdk.js在全局命名空间中声明函数,任何加载的文件都应该可以访问它

2) ES6

如果您可以使用 ES6 功能(例如通过 babel 或 webpack),那么您的其他脚本可以import使用该文件。举个例子:

sdk.js:

export var foo = function(){
return "foo";
}

一个.js

import foo from "./sdk.js";
foo();

3)Node.js方式

Node.js 支持require另一种导入文件的方式。这些文件将在它们自己的范围内运行,您必须使用模块导出来使函数或变量“公开”。

** 毫无价值,这仅适用于节点,而不是浏览器,但是

4)Require.js方式

您也可以使用require.js库来导入其他文件。

其他资源

这个 SO Question的答案比我上面概述的要深入得多。祝你好运!


推荐阅读