javascript - 在另一个函数内调用函数 - Uncaught Error

标签 javascript variables trello

我不知道“参数”是否是正确的术语,但我试图在另一个函数中调用一个函数,但出现以下错误:

Uncaught ReferenceError: successMsg is not defined

我正在通过他们的 API 循环浏览 Trello 看板,如下所示

var sportSuccess = function(successMsg) {
  console.log("sport");
    loopTrelloCards();
};

Trello.get('/lists/BOARDID/cards', sportSuccess, error);

我的 loopTrelloCards 函数看起来像

function loopTrelloCards() {
  for(i = 0; i < successMsg.length; i++) {
    var name = successMsg[i].name;
    var desc = successMsg[i].desc;
    var due = successMsg[i].due;
    var date = new Date(due);
    var day = addZeroToDate(date.getDate());
    var month = addZeroToDate(date.getMonth() + 1);
    var year = String(date.getFullYear());
    var eventDateShort = year + month + day;
    if (today < eventDateShort) {
      var year = year.substr(2);
      var eventDate = day + '.' + month + '.' + year;
      console.log(name + '  ' + desc + '  ' + eventDate);
    }
  }
}

当我将代码放在 sportsSuccess 函数内的函数内时,它可以工作,但是当我在 sportsSuccess 内调用loopTrelloCards 时,它会中断。

另外,您能否告诉我我使用的术语(参数)是否正确?你会怎么称呼这个?

最佳答案

Javascript 中的参数是函数作用域的局部变量。因此,由于您没有将 successMsg 作为参数传递,因此无法从内部函数访问。

您的选择是:

  • successMsg 作为参数传递给内部函数。
  • successMsg 定义为全局变量(在函数之外)并在那里访问它。
  • 不使用内部函数,将逻辑放在主函数中。

引用w3schools :

Function Arguments
Function arguments (parameters) work as local variables inside functions.

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

相关文章:

javascript - 传递 JavaScript 变量

javascript - Chrome 扩展程序内容脚本在页面刷新之前不会加载

function - 在 Lisp 中,如何通过作为参数传递的名称从宏中调用函数?

MySQL - 如何测试用户变量并在 DROP VIEW 中使用它

JavaScript 表单验证查询

JavaScript/jQuery 检查损坏的链接

javascript - Trello 应用程序无法在 Angularjs (routeProvider) 中实例化

jquery - 使用 jquery droppable,我如何复制 trello 将人物图像拖放到卡片上并捕捉到卡片右下角的行为?

javascript - 从内存中移除 HTML 元素(DOM 节点)

javascript - 如何在 CodeIgniter 中使用 jquery 复制隐藏字段值并将其传递到另一个页面?