我是 JavaScript/jQuery 新手。想知道是否有更好的方法通过函数返回对象。
//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
编辑:
因为我不知道该函数将创建多少个对象。 假设有一个 for 循环来生成 Score_1、score_2 等。
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;
};
最佳答案
您可以使用解构赋值来声明全局或局部范围的变量
//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);
{
let {name: _name, score} = player_info;
// do stuff with `_name`, `score`
console.log(_name, score);
}
关于JavaScript:使用函数返回的对象,而不使用对象的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45704169/