Javascript 按用户名从播放器类中选择某些用户?
在我的代码中,我希望能够通过 a) 。使用Javascript 按用户名从播放器类中选择某些用户?,javascript,jquery,class,Javascript,Jquery,Class,在我的代码中,我希望能够通过 a) 。使用createPlayer(“Test”)创建用户,然后可以使用Game.Player.Test调用该用户,这样我就可以使用console.log(Game.Player.Test.name)记录他们的姓名等 这就是我到目前为止所遇到的问题,我的问题几乎是findPlayer下面的所有内容,它返回的是未定义的 var User = 'iJava'; var Players = []; function Gam
createPlayer(“Test”)
创建用户,然后可以使用Game.Player.Test
调用该用户,这样我就可以使用console.log(Game.Player.Test.name)
记录他们的姓名等
这就是我到目前为止所遇到的问题,我的问题几乎是findPlayer
下面的所有内容,它返回的是未定义的
var User = 'iJava';
var Players = [];
function Game(Object, Name) {
this.Type = Object
this.Name = Name;
}
function Player(Username) {
this.Name = Username
this.getInfo = new Game("Player", this.Name)
this.Type = this.getInfo.Type
this.Move = function() { console.log("Moved",this.Name) }
}
function createPlayer(Username) {
if ($.inArray(Username, Players) == -1) {
new Game.newPlayer(Username)
Players.push(Username);
console.log("Created user "+Username+"!");
}
else {
console.log("The user "+Username+" already exists!");
}
}
function findPlayer(Username) {
return Game.getPlayer.Username;
}
Game.getPlayer = Player;
Game.newPlayer = Player
Game.Player = function(name) { findPlayer(name) };
createPlayer(User);
你可以用这样的东西
var Game = {Players: []};
Game.Player = function Player (name) {
if (this.constructor[name])
throw new Error("A player with this name already exists");
// Store player on constructor for fast access, as well as in
// Game.Players array to easily iterate over all players.
Game.Players.push(this.constructor[name] = this);
this.Name = name;
}
// Use prototype to define object methods only once
Game.Player.prototype.Move = function () {
console.log("Moving player: '" + this.Name + "'");
}
new Game.Player("MyPlayer");
console.log(Game.Player.MyPlayer);