【发布时间】:2016-01-27 14:11:37
【问题描述】:
我正在为此绞尽脑汁,并且我已经阅读了之前所有已回答的问题,但我觉得我只是错过了一些东西。
JSHint 给出错误:
for in 的主体应包含在 if 语句中,以过滤原型中不需要的属性。
你们将如何解决这个错误?
function checkCollision(X, Y, arrayObjs) {
for (var obj in arrayObjs) {
var objX = (arrayObjs[obj].x / 101).toFixed(0);
var objY = (arrayObjs[obj].y / 83).toFixed(0);
//checking collision by checking character placement as well as enemies
if ((objX == (X / 101).toFixed(0)) && (objY == (Y / 83).toFixed(0))) {
//collision
return true;
}
}
return false; }
【问题讨论】:
-
for in 的主体应该包含在 if 语句中,以过滤原型中不需要的属性。
-
我很好奇这个错误是否与这种情况相关,大多数其他 cmets 声明应该使用 if 语句来检查项目是否存在或者它是否刚刚从原型继承.代码按原样运行良好。我只是对错误感到好奇。
-
这不是标准的 JavaScript 错误消息。我也不认为这是 JavaScript 错误。这一定是您正在使用的某些工具发出的警告。请详细说明。
-
抱歉,我忘了说,我正在使用 JSHint 进行检查。我按照其他用户的建议使用标准 for 循环而不是 for in 解决了这个问题。
标签: javascript jshint