无法添加到对象原型
2011-11-24
103
我有这个对象文字:
var RPSPlayer = {....}
我想通过使用以下方法从此对象创建新的“子对象”:
var player1 = new Player(randomPlay);
当我尝试向
Player
原型添加如下函数时:
function Player(play) {
this.prototype.play = play;
return play;
};
我收到错误。
play
是一个返回字符串的函数,Player 函数会将其作为参数获取。
有问题的行是:
this.prototype.play = play;
2个回答
它应该简单如下:
function Player(play) {
this.play = play;
}
Player.prototype = RPSPlayer;
Ry-
2011-11-24
var RPSPlayer = {.... }
我想通过使用以下方法从此对象创建新的“子对象”:
var child = Object.create(RPSPlayer);
但是当我尝试通过使用以下方法通过原型设计向播放器添加功能时:
RPSPlayer.play = function () { ... }
它有效!
不过,认真地说,使用
Object.create
创建您的实例,并区分实例的自身属性和属于原型的属性。
如果您希望实例具有自己的属性,请写入它
child.play = function () { ... }
Raynos
2011-11-24