这是简历:如何通过点符号调用一个私有方法内部构造?:如何通过构造函数中的点符号来调用私有方法?
我知道有很多问题问同一个...在这个格外我coulnd't找到任何地方,所以我决定问。
receiveAttackFrom()方法如何可以是私有的? 所以如果我试试这个...
soldier1.receiveAttackFrom(soldier2, 50)
将抛出一个错误
var Soldier = function(_name, _life, _damage) {
var name = _name
var life = _life
var damage = _damage
this.getName = function() {return name}
this.getLife = function() {return life}
this.getDamage = function() {return damage}
this.setLife = function(_life) {life = _life}
this.attack = function(_targ) {
_targ.receiveAttackFrom(this, this.getDamage());
}
// how to put this as a private method? :
this.receiveAttackFrom = function(_other, _damage) {
this.setLife(this.getLife() - _damage)
}
}
// MAIN
var soldier1 = new Soldier('jonas', 100, 25);
var soldier2 = new Soldier('mark', 90, 30);
soldier1.attack(soldier2);
// so if I try this...
// soldier1.receiveAttackFrom(soldier2, 50)
// would throw an error
为什么你认为它应该是私有的? –
什么是错误信息? – PeterMader
这段代码没有错误......我只是想让公共方法成为一种私有方法。但在构造函数中使用点符号 –