我希望我的函数同时返回错误代码和字符串值,因此计划使用 return 返回错误代码并使用参数返回字符串值。但它不起作用。看起来我们无法从函数参数返回值。知道如何从函数参数返回它吗?
下面是一个示例代码。我希望从sayHello的参数中得到retVal。
function sayHello(name, retVal) {
retVal = "hello " + name;
return 1;
}
我希望我的函数同时返回错误代码和字符串值,因此计划使用 return 返回错误代码并使用参数返回字符串值。但它不起作用。看起来我们无法从函数参数返回值。知道如何从函数参数返回它吗?
下面是一个示例代码。我希望从sayHello的参数中得到retVal。
function sayHello(name, retVal) {
retVal = "hello " + name;
return 1;
}
您可能可以这样做,将对象传回。
function sayHello(name) {
retVal = "hello " + name;
return {code: 1, message: retVal};
}
//And while calling
var returnVal= sayHello("something");
var code = returnVal.code;
var msg= returnVal.message;
retVal 在外部不可用的原因是因为函数内部范围内的变量提升。但是您也可以通过不将其作为参数传递来解决此问题。
var retVal; //Define it in an outer scope.
function sayHello(name) {
retVal = "hello " + name;
return 1;
}
var returnVal= sayHello("something");
alert(returnVal);
alert(retVal); //Now get it here.
PSL 的解决方案是最好的,但如果你真的想知道如何通过参数返回它,唯一的方法是使用对象,因为对象是通过引用传递的,而不是复制的(注意数组是对象):
var hello = [];
sayHello("Paul", hello); // "hello[0] === "hello Paul"
function sayHello(name, retVal) {
retVal[0] = "hello " + name;
return 1;
}
您的问题仍然对 JavaScript 无效。当前问题与您之前的问题仍然相同或相似,QtScript 无法调用参数类型为“QString &”的函数
您需要的只是谷歌“在 javascript 中返回多个值”,例如在 javascript 中返回多个值?