javascript:传回对象时出错

时间:2012-01-30 20:36:17

标签: javascript function object

我收到一个错误,将一个对象从函数传递回调用函数。 我做错了什么?

function stStartProcessing()
{   
   var returnValue = {};
   returnValue = srGetNextRecord(); // returnValue is undefined     
}


function srGetNextRecord()
{
   var returnValue = {};
   returnValue.addressToArray = "AAA";
   returnValue.sequence = "111";
   console.log(returnValue);    // this works
   return returnValue;          
}

1 个答案:

答案 0 :(得分:0)

您的代码中必定存在其他问题,因为您发布的内容正常。

以下修改后的代码显示111。见DEMO

function stStartProcessing()
{   
   var returnValue = {};
   returnValue = srGetNextRecord(); // returnValue is undefined -- no, it's not
   console.log(returnValue.sequence); //shows 111
}


function srGetNextRecord()
{
   var returnValue = {};
   returnValue.addressToArray = "AAA";
   returnValue.sequence = "111";
   console.log(returnValue);    // this works
   return returnValue;          
}


stStartProcessing();

另外,在编写JavaScript时,请养成将开口括号放在同一行 - 始终的习惯。对于你上面的内容,它不会有所作为,但如果你这样做:

function foo() 
{
    return
    {
       x: 1,
       y: 2
     };
}

会发生可怕的事情 - 在return之后插入一个分号,从而杀死你的返回值,并导致脚本错误。