小编Man*_*Qin的帖子

在javascript中使用未初始化的成员变量的未定义行为

现在是20:30,我正在追捕一个由未初始化的成员变量引起的刺激性错误的6小时错误.

在我们之前的版本中,我们接下来的几行代码:

var aList = new Array;
for (var iDx=0; iDx < nNumOfElements; iDx++)
{
    // Some code
    aList.nCount = someValue;   //This line
}

aList.sort(function(a, b) { return b.nCount - a.nCount ; });
Run Code Online (Sandbox Code Playgroud)

在最后一个版本中,有人意外删除了评论.并且没有其他成员变量nCount的初始化.

我们的一些客户得到了"预期数量"的例外情况,这是非常明显的(回想起来),奇怪的是,我们的QA和80%的客户都没有重现错误!

怎么会这样?有什么严格的模式,我们可以运行,会发现这样讨厌的错误?获得异常的客户端与不支持异常的客户端之间有什么区别(它不是浏览器版本,也不是Windows版本)

(我们的系统只在IE6 +上运行一个特殊的容器,这使得我们很难在普通的IDE中编写代码,我们几乎用notepad ++编写了所有内容)

javascript

2
推荐指数
1
解决办法
98
查看次数

标签 统计

javascript ×1