【发布时间】:2014-11-26 21:23:22
【问题描述】:
在我的代码中,我希望能够在Game 下创建可以这样调用的函数:
Game.Player.iJava.showNum()
哪个会返回'5'
和
Game.Player.Bill.showNum()
这将返回“120”
我对能够这样称呼它的语法感到困惑,这就是我目前所拥有的 抱歉,如果我的描述含糊不清,我会尽力解释这一点,但我的英语不是很好
谢谢,这就是我目前所拥有的
var Username = 'iJava';
function Game(Object, Attribute, Number) {
this.Object = Object;
this.Attribute = Attribute;
this.Number = Number
this.showNum= function() { return Number;}
this.Create = function() { if (Object == "Player") { console.log("Created user "+Attribute) } };
}
function Player(Name, Num) {
new Game("Player", Name, Num);
}
var User = new Player(Username, 5)
var Bill = new Player("Bill", 120)
【问题讨论】:
-
@JeremyD:不,他们不是。
-
@FelixKling 够公平的。我不明白这个问题。 iJava 是一个字符串,你为什么要在它上面调用一个函数。游戏也没有 Player 属性。这非常令人困惑。
-
@JeremyD:请注意,OP 调用
new Game("Player", Name, Num);,而Game定义为function Game(Object, Attribute, Number) { this.Object = Object; ... }。所以我假设Object的 value 实际上应该用作属性名称。当然,他仍然必须将另一个对象分配给this[Object],而不是Object本身。但我想这是问题的核心。
标签: javascript class