如何设置我传递给函数的变量
function checkSetName(inputVar, outputVar, txt){
if (inputVar.length) {
outputVar = txt + ': ' + inputVar.val();
} else {
outputVar = "";
}
}
checkSetName(name, nameTxt, 'Hello world ');
我传递空变量nameTxt,我希望它在函数内部设置值,但在函数执行后变量为undefined
如何设置我传递给JavaScript中的函数的变量
答案 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 = "";
}
}