我做了一个简单的练习,意味着在JavaScript中包含将二进制文件转换为其各自的十进制值...我觉得我接近完成项目但由于某种原因我的for循环在某一行之后不会工作。
//function is called after the press of a button
function convertToBinary (){
oText= document.all?document.all("inout"):document.getElementById("inout");
//inout represents a textarea
sText= oText.value;
alert(sText);
aText = sText.split(/\n\r|\n|\r/g); //got this line after searching this site for solutions
/*alert(aText[1]);
alert(aText[2]);
alert(aText[3]);*/
aText确实存储了值,检查了一千次,但是在这一行之后一切都下降了,我似乎无法找到原因。这是从我的文本编辑器复制/粘贴的其余代码。
for(y = 0; y < aText.lenght;y++){
alert(aText[y]);
}
iCurrent=0;
aBina= aText[0].split("");
for(var x = aBina.lenght-1; x >= 0; x--){
iCurrent = (iCurrent*2) + parseInt(aBina[x]);
alert(iCurrent);
}
aAsci[0]=iCurrent;
alert(iCurrent); //Alerts 0
}
注意:在代码的前几行中正确定义了变量和数组,我在之前的函数中使用它们执行相反的操作(将小数转换为二进制)并且工作正常。完成后,我确定要清理每个数组和变量。 (&#34; o&#34;用于对象,&#34; s&#34;用于字符串,&#34; a&#34;用于数组,&#34; i&#34;用于int&#39; s) 的
没有明显的语法错误。我希望不发布练习的解决方案,除非它确实是必要的,我可能还没有做到这一点,但我喜欢通过算法来思考我自己:p。我的问题是循环就好像条件不满足,它们只是被跳过。我使用Opera Next作为我的网络浏览器和&#34;检查元素&#34;控制台也不会显示任何错误。
提前谢谢。
答案 0 :(得分:0)
这应该是,
for(y = 0; y < aText.length;y++)
和这个
for(var x = aBina.length-1; x >= 0; x--){
而不是
for(var x = aBina.lenght-1; x >= 0; x--){
for(y = 0; y < aText.lenght;y++)
你错了这个,&#34; LENGTH&#34;