Javascript 从另一个函数调用函数时获取未定义的变量

Javascript 从另一个函数调用函数时获取未定义的变量,javascript,function,Javascript,Function,挠头。我在尝试调用函数时遇到一个未定义的错误。问题是,当我打印到控制台时,我可以清楚地看到传递的数据 未捕获类型错误:CONVAS未定义 功能1 function fetchConversation(userID){ //loop through usersms.forEach(function (sms,counter) { //get userid from iteration var userid_loop = sms.details[0].user.id; //only dis

挠头。我在尝试调用函数时遇到一个未定义的错误。问题是,当我打印到控制台时,我可以清楚地看到传递的数据

未捕获类型错误:CONVAS未定义

功能1

function fetchConversation(userID){

//loop through 
usersms.forEach(function (sms,counter) {

//get userid from  iteration
var userid_loop = sms.details[0].user.id;

//only display convo from specific user
if(userid_loop === userID){

//get all messages from this one user
var conversation = sms.details;

//transfer conversation to next function to display
showConversation(conversation);
//
}
//
});
}
功能2

function showConversation(myconvo){
        
var convos = myconvo;
        
//iterate and append conversion
convos.forEach(function (msg,counter) {
        
console.log(msg.message);//prints all messages in the log
        
});
}
showConversation()//Uncaught TypeError: convos is undefined

我认为您需要在showConversation()的括号内输入一些内容


您正在为myconvo分配conva,但myconvo不存在,因为您没有将其作为参数输入(括号中的值)。

您的第一个错误是没有向函数传递任何参数

您的第二个错误是msg.message不存在-它只是msg本身

此外,在这种情况下,计数器是不必要的

函数showConversation(myconvo){
var convas=myconvo;
//迭代和追加转换
forEach(函数(msg){
console.log(msg);//打印日志中的所有消息
});
}

showConversation([“element1”,“element2]”)
试着做
showConversation(myconvo)
而不是
showConversation()
@Endothermic\u Dragon:是的,我试过了。这将是一个容易解决的问题。我不会在这里。你为什么自己调用
showConversation()
?@Nick:display result in html from index page。我用一个不同的函数来做这件事,它是有效的。这一个是未定义的,只是为了完全清楚您的错误是什么:如果您执行
showConversation()
,您没有传递任何参数,这意味着
myconvo
未定义的。然后尝试执行
未定义的.forEach
,它将爆炸,因为它不是数组。该变量是什么?我尝试使用不同的变量,但未定义这些元素是什么?这取决于您尝试执行的操作。我只是把它修好了。看起来您正在尝试传递聊天的片段。