JavaScript/jQueryの新機能です。関数によってオブジェクトを返す良い方法があるかどうか分かります。JavaScript:オブジェクトのオブジェクトなしで関数によって返されたオブジェクトを使用します。
//this is the Object creator.
function makeNewPlayer(name, score) {
var player = {};
player.name = name;
player.score = score;
return player;
};
これは機能を使用する方法です。私は、オブジェクトを使用する場合
var player_info = makeNewPlayer('Bob' ,100);
しかし、私はこのようにそれを呼び出す必要があります:それは愚かに見える
player_info.player.name
player_info.player.score
、どのような方法は次のようにオブジェクトを直接使用しますか?
player_info.name
player_info.score
編集:私は、関数によって作成されますどのように多くのオブジェクトを知らないとして
。 あなたは、ローカル、グローバルまたはを宣言するために消滅割り当てを使用することができます
function makeNewPlayer(name, score) {
var player = {};
player.name = name;
for(i=0, i<number_of_score, i++){
eval("player.score_" + i) = score[i];
};
return player;
};
私の場合、以下のスニペットをチェックアウト出力を得ることができていますどのくらいの数のオブジェクトが関数によって作成されるのかわからないのですか? たとえば、score_1、score_2などを作成するためのforループがあるとします。これをどのように処理できますか? –
この場合、適切なコレクションオブジェクトを見つけることが重要です。ほとんどの場合、配列は良い選択肢です。たとえば、プレイヤーの名前を付けましょう。あなたのforループでは、players.push(newPlayer)を呼び出して、作成された新しいプレーヤーをこの配列に追加するだけです。 – tibetty