0

JavaScriptで関数パラメーターを使用して変数名を定義することは可能ですか?

これが私のjsFiddleです。以下の例では、通過したときのようvarBに定義したいと思います。nullmakeNull(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 に答える