在另一个函数中调用函数 - 未捕获的错误
Calling function inside another function - uncaught error
我不知道 'parameter' 是否正确,但我试图在另一个函数中调用一个函数,但出现以下错误:
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.
我不知道 'parameter' 是否正确,但我试图在另一个函数中调用一个函数,但出现以下错误:
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.