代码之家  ›  专栏  ›  技术社区  ›  Curnelious

您可以还是应该使用委托(函数指针)?

  •  -1
  • Curnelious  · 技术社区  · 6 年前

    这可能是基本的,但因为我是新来的,所以我不能理解我是否做错了——这是一个糟糕的做法。假设我有3个 JS 文件夹:

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

    说吧。 SDK.JS 是一些SDK,我想从不同的 js 文件,例如 a b .

    要做的就是调用函数 SDK.JS 从任何其他文件 直接地 ? 这对我来说似乎没有什么大不了的,但我没有找到别的办法 面向对象编程 .

    1 回复  |  直到 6 年前
        1
  •  2
  •   Ian Wise    6 年前

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

    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";
    }
    

    A.J.

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

    3)node.js方式

    node.js支持 require ,另一种导入文件的方法。这些文件将在它们自己的范围内运行,您必须使用 module exports 使一个函数或变量“公开”。

    **这只在节点上工作,而不是在浏览器上,这一点都不值得。

    4)要求JS方式

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

    其他资源

    This SO Question 比我上面概述的答案更深入。祝你好运!

        2
  •  0
  •   Abdul Mohaimin    6 年前

    可以使用

    module.exports = { 
           a:()=>{
               console.log("This is 'a' function");
           },
           b:()=>{
               console.log("This is 'b' function");
           }
    }
    

    通过导入上述文件,可以从下一个文件调用这些函数

    const file1 = require('that_file_name');
    file1.a();
    file1.b();
    

    希望你得到正确的答案。