可以从Javascript函数参数返回一个值吗?

时间:2013-07-03 01:47:54

标签: javascript

我希望我的函数返回错误代码和字符串值,因此计划使用return返回错误代码并使用参数返回字符串值。但它不起作用。看起来我们无法从函数参数返回值。知道如何从函数参数中返回它吗?

以下是示例代码。我希望从sayHello的参数中得到retVal。

function sayHello(name, retVal) {
    retVal = "hello " + name;
    return 1;
}

3 个答案:

答案 0 :(得分:9)

你可以这样做,传回一个物体。

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.

答案 1 :(得分:2)

PSL的解决方案是最好的,但如果你真的想知道如何通过参数返回它,唯一的方法是使用一个对象,因为对象是通过引用传递的,而不是复制的(注意数组是对象):

var hello = [];
sayHello("Paul", hello); // "hello[0] === "hello Paul"

function sayHello(name, retVal) {
    retVal[0] = "hello " + name;
    return 1;
}

答案 2 :(得分:0)

您的问题对JavaScript无效。当前问题与您之前的问题QtScript can't call function with argument type "QString &"

相同或类似

你需要的只是谷歌“在javascript中返回多个值”,如Returning multiple values in javascript?