我收到一个错误,将一个对象从函数传递回调用函数。 我做错了什么?
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;
}
答案 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
之后插入一个分号,从而杀死你的返回值,并导致脚本错误。