Javascript 无法添加到对象原型

Javascript 无法添加到对象原型,javascript,Javascript,我有一个对象文字: var RPSPlayer = {....} 我想使用以下方法从该对象生成新的“子对象”: var player1 = new Player(randomPlay); 当我尝试向播放器原型添加函数时,如下所示: function Player(play) { this.prototype.play = play; return play; }; 我犯了一个错误 play是一个返回字符串的函数,Player函数将该字符串作为参数获取 问题在于: this

我有一个对象文字:

var RPSPlayer = {....}
我想使用以下方法从该对象生成新的“子对象”:

var player1 = new Player(randomPlay);
当我尝试向
播放器
原型添加函数时,如下所示:

function Player(play) {
    this.prototype.play = play;
    return play;
};
我犯了一个错误

play
是一个返回字符串的函数,Player函数将该字符串作为参数获取

问题在于:

 this.prototype.play = play;
它应该是简单的:

function Player(play) {
    this.play = play;
}

Player.prototype = RPSPlayer;

var RPSPlayer={….}

我想使用以下方法从该对象生成新的“子对象”:

var player1 = new Player(randomPlay);
var child=Object.create(RPSPlayer)

但当我试图通过使用以下原型为播放器添加功能时:

RPSPlayer.play=function(){…}

它起作用了

认真地说,使用
Object.create
来创建实例,并区分实例的自身属性和属于原型的属性

如果希望实例具有自己的属性,请对其进行写入


child.play=function(){…}

最好说出错误是什么。@DᴀᴠᴇNᴇᴡᴛᴏɴ错误显然是“无法将属性播放设置为未定义”@Raynos yes。然而,海报应该说明他们犯了什么错误。我们从RPSPlayer开始。。。然后进入玩家???