JavaScript: ошибка при передаче объекта назад - PullRequest
1 голос
/ 31 января 2012

Я получаю сообщение об ошибке при передаче объекта из функции в вызывающую функцию. Что я делаю не так?

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 голосов
/ 31 января 2012

В вашем коде должна быть другая проблема, поскольку опубликованная вами информация работает нормально.

В приведенном ниже измененном коде отображается 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, тем самым убив ваше возвращениезначение и вызывает ошибку сценария.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...