gpt4 book ai didi

javascript - 在其中一个原型(prototype)函数中调用 JavaScript 对象的构造函数是否正确?

转载 作者:数据小太阳 更新时间:2023-10-29 06:11:08 25 4
gpt4 key购买 nike

我正在审查一位同事的 JavaScript 代码,他写了一个对象原型(prototype)函数,我认为它不符合面向对象编程的原则。

Game.prototype.reset = function() {
if (game.over) {
game.over = false;
game = new Game(players);
}
}

下面几行,游戏变量被声明为全局变量。

var game = new Game(players);

那么,从其构造函数之一创建一个新的 Game 对象是否正确?代码完美运行。谢谢!

最佳答案

他不应该在原型(prototype)方法中引用变量game,因为game 是实例的名称。相反,他应该使用 this 来引用当前对象。

reset 方法中,他不应该创建新游戏实例,而是真正重置 Game 字段,如下所示:

Game.prototype.reset = function() {
if (this.over) {
this.over = false;
this.initialize(this.players);
}
}

Game.prototype.initialize = function(players) {
this.players = players;
:
}

关于javascript - 在其中一个原型(prototype)函数中调用 JavaScript 对象的构造函数是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30263499/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com