0

是否可以在 JavaScript 中使用函数参数定义变量名?

这是我的 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);

​</p>

4

3 回答 3

2

如果您尝试使用函数参数定义变量,那么您可能想要使用数组或对象。

于 2012-10-02T15:00:37.800 回答
1

JavaScript 不提供“引用调用”参数。当您调用函数时,它会接收参数表达式的值,而不是对表达式中变量的引用。所以它不能修改这些变量的绑定。

如果你想做这样的事情,你可以使用容器和标签,例如

function makeNull(obj, label) {
  if (obj[label] === undefined) {
      obj[label] = null;
  }
}
var varB = { abc: undefined }
makeNull(varB, 'abc');
于 2012-10-02T15:14:32.563 回答
-1

您可以将变量(定义为“未定义”)传递给函数并设置其值。

http://jsfiddle.net/AwnVN/

于 2012-10-02T15:02:44.237 回答