0

在搜索了几个小时后,我没有找到解决我的问题的方法:

function pseudoclass(Value){
    this.Value = Value;
}
aPlayGround = new Array();
aPlayGround[0] = new pseudoclass(0);
var Actual = 0;
var Width = 1;
var bBool = new Boolean(Actual%Width); //left becomes 0%1 ----> false
if (bBool && (aPlayGround[Actual-1].Value < 9)) {}

如果我让我的浏览器执行此代码块,我会通过 mozilla firebug 收到此错误消息:

"TypeError: aPlayGround[(Actual - 1)] is undefined"

bBool是我的错误处理程序,以确保不检查第 11 行中的第二个条件,但如果我将最后一行更改为:

if (false && (aPlayGround[Actual-1].Value < 9)) {}

我实际上正在研究一个非常丑陋的解决方法,它只是增加了元素的数量以绕过错误,但必须有一些更优雅的方式让浏览器忽略这个未定义的错误不幸的是我是 js 的初学者,所以请保持简单谢谢

4

1 回答 1

0

不要使用new Boolean,只需使用以下方法将结果转换为布尔值:

var bBool = !!(Actual%Width);
于 2013-07-11T09:50:06.870 回答