javascript - 从另一个函数调用函数 - Javascript API

标签 javascript api-design

我是 javascript 的新手,我有一个我无法解决的问题。

一开始我有以下代码,并且工作得很好

function foo(){
    var load_b = new Array();
    load_b = b();
}

function a() {
    var files = document.getElementById("images").files;
    return files;
}

function b(){
    var get_a = a.call(get_a);
    return get_a;
}

现在我正在尝试创建一个 API,问题是当我执行 var get_a = a.call(get_a);var get_a = a();,我得到一个:

Uncaught ReferenceError: a is not defined(…).

我尝试了很多从 b 调用 a 的不同方法,但总是出错。目前我的代码看起来像这样。你们有什么想法吗?

function foo(){
    var new_api = new my_api();
    var load_b = new Array();
    load_b = new_api.b();
}

var my_api = function(){
    return {
        a : function a() {
            var files = document.getElementById("images").files;
            return files;
        },
        b : function b() {
            var get_a = a();
            return get_a; 
        }
    }
}

最佳答案

您需要使用this 来告诉脚本在当前范围内而不是全局范围内查找函数:

var get_a = this.a();

作为次要的一点,这个语法有点多余:

a : function a() {

你不需要第二次提到“a”:

a : function() {

会起作用。

关于javascript - 从另一个函数调用函数 - Javascript API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40345720/

相关文章:

javascript - 使用异步函数返回 Promise

javascript - 滑入带有固定标题的 div

javascript - 双向绑定(bind)不适用于表行和列

javascript - 为什么我无法在 Nuxt 3 中从此 API 获取并显示数据?

java - 处理可同步或异步调用的 REST API 路径的正确方法

javascript - cordova 2.0.0 给出未捕获的类型错误 : Object 0 has no method 'func'

javascript创建一个包含文本中重复短语的数组

json - 链接到 REST API : by its ID, 中的另一个资源或其 URL?

rest - 如果 GET 请求的响应发生变化,是否尊重幂等性?

prolog - Prolog 3 路比较中的关系运算符符号