JavaScript:使用函数参数定义变量名称

时间:2012-10-02 14:59:24

标签: javascript function variables naming-conventions function-parameter

在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);

3 个答案:

答案 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')传递给函数并设置其值。

http://jsfiddle.net/AwnVN/