javascript - 如何获取从函数构造函数创建的所有新对象名称?
问题描述
我正在开发一个 javaScript 项目,构建一个基于回合的游戏,并且我为玩家创建了一个函数构造函数。
我为每个玩家添加了一个 css 类,玩家的名字相同。
下面我添加了我的js代码:
function Player(name, image) {
this.name = name;
this.image = image;
}
var player1 = new Player("kakashi", "ninja.png");
var player2 = new Player("mightyGuy", "samurai.png");
function checkClass() {
$.each(classList, function(index, cssClass) {
if (
cssClass === "wall" ||
cssClass === "kakashi" ||
cssClass === "mightyGuy"
) {
blocked = true;
}
});
}
我怎样才能获得从这个构造函数创建的所有新 player.name 以检查特定 divCell 是否有任何 player.name 类?
所以不要写 cssClass === "kakashi" || cssClass === "mightyGuy"
我会简单地写一次,它会自动按 Player.name 检查所有 css 类。
更新问题:这是我最终在我的代码中使用的方式:
function Player(name, image) {
this.name = name;
this.image = image;
}
var player1 = new Player("kakashi", "ninja.png");
var player2 = new Player("mightyGuy", "samurai.png");
function checkClass() {
$.each(classList, function(index, cssClass) {
if (
cssClass === "wall" ||
cssClass == passivePlayer.name
) {
blocked = true;
}
});
}
我使用这种方式是因为我不需要使用 var passivePlayer 来写任何玩家名称(可以是除了 activePlayer 之外的任何玩家)
解决方案
您可以将类添加到对象并检查它们是否存在。
function Player(name, image) {
this.name = name;
this.image = image;
}
var player1 = new Player("kakashi", "ninja.png");
var player2 = new Player("mightyGuy", "samurai.png");
function checkClass() {
const checkList = {
wall: true,
kakashi: true,
mightyGuy: true
}
$.each(classList, function (index, cssClass) {
if (checkList[cssClass]) {
blocked = true;
}
});
}
推荐阅读
- java - Maven 编译 src/main/resources 中的 JAVA 文件
- java - 从 pentaho Kettle 到 Java 的自定义错误代码
- arduino - 需要使2个伺服无线移动
- c# - 通过 volatile 引用类型的值传递
- c++ - C ++何时检查异步方法的异常
- html - 如何在 Angular 2 中将 App 组件中的图像绑定到 HTML 文件
- reactjs - 从 ADFS 2016、react、ADAL.js 获取用户信息
- c++ - 默认构造函数如何知道在哪里初始化内存中数据成员的默认值
- android - 录制视频时仅录制设备声音并静音麦克风录制的声音
- python - Scapy 和 tcp syn 泛洪攻击