在JavaScript中是否可以使用函数参数定义变量名称?
这是 my jsFiddle 。在下面的示例中,我希望varB
在通过null
时被定义为makeNull(varName)
:
var varA = undefined;
if (varA == undefined) {
varA = null;
}
var varB = undefined;
makeNull(varB);
function makeNull(varName) {
if (varName == undefined) {
varName = null;
}
}
alert (varA + ' | ' + varB);
答案 0 :(得分:2)
如果您尝试使用函数参数定义变量,那么您要么使用数组或对象。
答案 1 :(得分:1)
JavaScript不提供“按引用调用”参数。调用函数时,它接收参数表达式的值,而不是对表达式中变量的引用。所以它无法修改这些变量的绑定。
如果你想做这样的事情,你可以使用容器和标签,例如
function makeNull(obj, label) {
if (obj[label] === undefined) {
obj[label] = null;
}
}
var varB = { abc: undefined }
makeNull(varB, 'abc');
答案 2 :(得分:-1)
您可以将变量(定义为'undefined')传递给函数并设置其值。