繁体   English   中英

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

[英]possible to return a value from Javascript function parameter?

我希望我的函数返回错误代码和字符串值,因此计划使用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中返回多个值?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM