使用argumentsパラメータ... JavaScriptではあなたは、機能ブロック自体にあなたのパラメータのいずれかを定義する必要はありません。したがって、たとえば、次の呼び出し:
myFunction(arg1, arg2, arg3, arg4);
は、法的に次の関数に渡すことができます:私はこれを行うとき
myFunction() {
// do stuff here...
}
、私は通常、私は期待してい示すために、括弧内のコメントを置きます変数引数:
myFunction (/* I am expecting variable arguments to be passed here */) {
if (arguments.length == 0) {
// naughty naughty, you were supposed to send me things...
return null;
}
myExpectedFirstArgument = arguments[0];
// maybe do something here with myExpectedFirstArgument
var whatEvah:String = myExpectedFirstArgument + ": "
for (i=1;i<arguments.length;i++) {
// now do something with the rest of the arguments, one
// at a time using arguments[i]
whatEvah = whatEvah + " and " + arguments[i];
}
// peace.
return whatEvah;
}
012:
myFunction (/* I am expecting variable arguments to be passed here */) {
// do stuff here...
}
その後、あなたはこのようなものを引数にアクセスすることができます
Wallah、可変引数。
しかし、あなたの質問のポイントまで、実際には可変引数を送信する必要はなく、実際のJSON(実際にはJavaScriptオブジェクトの文字列解釈)を作成するという面倒もありません。あなたのフィールド名とフィールド値を取得するために連想配列として参照し、実際のオブジェクトを作成して送信します。
var x = {};
x.fieldName1 = value1;
x.fieldName2 = value2;
// ... etc ...
そして、今は2つのパラメータを必要とするあなたの機能に:
myFunction(arg1, arg2) {
// do whatever with arg1
for (name in arg2) {
// name is now "fieldName1" or "fieldName2"
alert(name + ": " + x[name]);
}
}
・ホープ、このことができます。
ありがとう、ジェレミー。最初にオブジェクトを作成して渡すのが本当に好きです。他の場所でもこれを使用します。 –