gpt4 book ai didi

javascript - javascript 中未初始化成员变量的未定义行为

转载 作者:行者123 更新时间:2023-11-29 16:28:05 30 4
gpt4 key购买 nike

现在是 20:30,我经过 6 小时的 bug 搜寻,发现了一个由未初始化的成员变量引起的令人恼火的 bug。

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

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 ; });

在上一个版本中,有人意外删除了带有注释的行。并且没有对成员变量nCount进行其他初始化。

我们的一些客户遇到了“预期数字”异常,这是非常明显的(回想起来),奇怪的是,我们的问答并没有重现该错误。也不是我们 80% 的客户!

怎么可能呢?我们是否可以运行任何严格的模式来发现这些讨厌的错误?得到异常的客户端和没有得到异常的客户端有什么区别(不是浏览器版本也不是Windows版本)

(我们的系统仅在特殊容器中的 IE6+ 上运行,这使得我们很难在普通的 I.D.E 中编写代码,我们几乎都是在 notepad++ 中编写)

最佳答案

您编写了 int 而不是 var。我一直这样做...

int iDx=0 应为 var iDx=0

顺便问一下,你用的是什么编辑器? int 是 ES 中的“ future 保留字”,因此优秀的编辑器可能会以丑陋的方式突出显示它(gedit 默认将其设置为红色并带有红色下划线)以引起您的注意。 p>

关于javascript - javascript 中未初始化成员变量的未定义行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3936463/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com