在函数内设置javascript参数

时间:2018-02-07 12:48:34

标签: javascript

如何设置我传递给函数的变量

function checkSetName(inputVar, outputVar, txt){
            if (inputVar.length) {
                outputVar = txt + ': ' + inputVar.val();
            } else {
                outputVar = "";
            }
        }
checkSetName(name, nameTxt, 'Hello world ');

我传递空变量nameTxt,我希望它在函数内部设置值,但在函数执行后变量为undefined

如何设置我传递给JavaScript中的函数的变量

1 个答案:

答案 0 :(得分:8)

您不能因为JS是严格按值传递的语言,因此没有ByRef个参数。只需返回一个值。

function checkSetName(inputVar, txt){
        if (inputVar.length) {
            return txt + ': ' + inputVar.val();
        } else {
            return  = "";
        }

另一个(更糟糕的)选择是传递一个对象并修改其状态:

function checkSetName(inputVar, state, txt){
        if (inputVar.length) {
            state.output = txt + ': ' + inputVar.val();
        } else {
            state.output = "";
        }

最后,您可以将函数设为方法并修改this而不是参数对象:

class Validations {
    checkSetName(inputVar, txt){
        if (inputVar.length) {
            this.output = txt + ': ' + inputVar.val();
        } else {
            this.output = "";
        }
}