在问这个问题之前我搜索了大约 2 个小时,没有找到任何解决我的问题的方法,尽管我认为这是一个相当基本的问题。在 Java 中,您可以使用 equal() 来查看两个对象是否具有相同的值。我认为这就是 == 运算符在 Javascript 中的工作方式。显然它没有。:(
我一直在尝试将两个自己创建的对象与 == 运算符进行比较,但尽管所有值都相等,但它返回 false。为什么?
这是我创建我使用的字段对象的函数:
function field(player, figureKind) {
this.player = player;
this.figureKind = figureKind;
this.hidden = true;
if (player == 1 && hidden && figureKind != trapF && figureKind != flagF) {
this.image = figureKind.getImage(0);
} else if (player != 1 && hidden) {
this.image = hidden;
} else {
this.image = figureKind.getImage(player);
}
this.setKind = setKind;
function setKind(figureKind) {
this.figureKind = figureKind;
this.image = figureKind.getImage(player);
}
this.getKind = getKind;
function getKind() {
return this.figureKind;
}
this.getImage = getImage;
function getImage() {
return this.image;
}
this.getPlayer = getPlayer;
function getPlayer() {
return this.player;
}
this.removeHidden = removeHidden;
function removeHidden() {
this.hidden = false;
this.image = figureKind.getImage(player);
if (figureKind == trapF)
this.image = figureKind.getImage(1);
}
}
console.log(new field(2,flagF) == new field(2,flagF));
尽管这两个对象应该相同,但它返回 false,不是吗?
如果有人能告诉我为什么这不起作用以及如何使它起作用(因为我的游戏需要这种比较),我将非常感激!