我有这个对象文字:
var RPSPlayer = {....}
我想通过使用:
从这个对象中创建新的“孩子”var player1 = new Player(randomPlay);
当我尝试将函数添加到Player
原型时,如下所示:
function Player(play) {
this.prototype.play = play;
return play;
};
我收到错误。
play
是一个函数,返回一个Player函数作为参数获取的字符串。
有问题的一行是:
this.prototype.play = play;
答案 0 :(得分:1)
应该简单地说:
function Player(play) {
this.play = play;
}
Player.prototype = RPSPlayer;
答案 1 :(得分:0)
var RPSPlayer = {....}
我想通过使用以下方法从这个对象中创建新的“孩子”:
var child = Object.create(RPSPlayer);
但是当我试图通过使用原型设置为玩家添加功能时:
RPSPlayer.play = function () { ... }
它有效!
严重的是,使用Object.create
创建实例并区分实例的属性和属于原型的属性。
如果您希望实例拥有自己的属性,请写入
child.play = function () { ... }