Javascript NaN问题-为什么相同的代码返回不同的结果?
我正在编写一个脚本,将被打乱的单词与被解读的单词进行匹配,我遇到了一个奇怪的问题。我在下面插入了一些评论,以指导您进一步了解我的问题,希望您能给我一个解释,说明为什么会出现这个问题。谢谢你的时间和帮助 注意:两段完全相同但变量名不同的代码的作用不同。后者可行,但前者不行 莱奥!L 利维 塔萨格斯 亚诺 kwosonhw 哎哟 oyuwoh 奥瑟恩 Estwe wtoO0o var字、紧急停堆、字VAL、紧急停堆值、总和、i、i; //将单词列表转换为数组。 单词=[]; var words=document.getElementByIdwords.elements[0].value.split,; //将加扰单词列表转换为数组。 紧急停堆=[]; 对于var i=0;i<10;i++{ scram.pushdocument.getElementsByTagNameli[i].innerHTML; }; //接下来,我对每个单词的每个字母进行迭代,以获得未解读的单词 //并将这些字母转换为ASCII值-将它们相加 //获取每个单词的总ASCII值。 wordVals=[]; 对于i=0;iJavascript NaN问题-为什么相同的代码返回不同的结果?,javascript,arrays,ascii,nan,scramble,Javascript,Arrays,Ascii,Nan,Scramble,我正在编写一个脚本,将被打乱的单词与被解读的单词进行匹配,我遇到了一个奇怪的问题。我在下面插入了一些评论,以指导您进一步了解我的问题,希望您能给我一个解释,说明为什么会出现这个问题。谢谢你的时间和帮助 注意:两段完全相同但变量名不同的代码的作用不同。后者可行,但前者不行 莱奥!L 利维 塔萨格斯 亚诺 kwosonhw 哎哟 oyuwoh 奥瑟恩 Estwe wtoO0o var字、紧急停堆、字VAL、紧急停堆值、总和、i、i; //将单词列表转换为数组。 单词=[]; var words=d
var words, scram, wordVals, scramVals, sum = 0, i, I;
这是因为undefined+Number是NaN。最初,sum变量是未定义的。这就是wordVals数组中的第一个值为NaN的原因
只需将sum设置为0,它就可以按预期工作,例如:
var words, scram, wordVals, scramVals, sum = 0, i, I;
在第一次迭代中,添加一个未定义ie和的数字。所以它会变成南。求和=0;在第一次迭代开始时,添加一个未定义ie和的数字。所以它会变成南。求和=0;开始时问题解决了!哈哈。非常感谢。那简直让我发疯了@我很高兴能帮上忙。祝你好运,问题解决了!哈哈。非常感谢。那简直让我发疯了@我很高兴能帮上忙。祝你好运