数组[索引]后的JS NaN

时间:2016-09-22 12:49:53

标签: javascript arrays

我刚开始用js编程并遇到麻烦。我无法承受更多的时间,我想也许更多的眼睛可以找到问题。 它将是一个简单的Web浏览器计算器。其他按钮的代码几乎相同(0-9)

sum = 0;
 var actual = new Array(0);
 var counter = 0;

function button1pressed(){

if(counter==0){
    actual.push(1);
    counter=1;

    sum=actual[0];
}else{
    actual.push(1); //Insert new number

        counter=counter*10;
    for(i = actual.length; i > 0; i--){
        sum = sum + actual[i] * counter;
    } 


}
document.getElementById("display").innerHTML = sum;
sum = 0;
}

我做错了什么?

2 个答案:

答案 0 :(得分:1)

actual.length-1开始循环,因为每个数组都从0开始,所以最后一个元素是actual.length-1而不是actual.length

答案 1 :(得分:0)

我看到你的计算器代码太复杂了。

你进行低级操作只需添加" 1"你将所有东西乘以10并加1。

简单(;



var inputElement = document.getElementById("input");
var resultElement = document.getElementById("result");

var accept = [0,1,2,3,4,5,6,7,8,9,'-','+','calc'];
var input = [];
function op(value){
  if(accept.indexOf(value) < 0) {
    return;
  }
  
  if(value == 'calc') {
    return calc(); 
  }
  
  input.push(value);
  inputElement.innerHTML = input.join('');
}

function calc() {
  resultElement.innerHTML = eval(input.join(''));
  input = [];
}
&#13;
<button onclick="op(1)">1</button>
<button onclick="op(2)">2</button>
<button onclick="op(3)">3</button>
<br/>
<button onclick="op(4)">4</button>
<button onclick="op(5)">5</button>
<button onclick="op(6)">6</button>
<br/>
<button onclick="op(7)">7</button>
<button onclick="op(8)">8</button>
<button onclick="op(9)">9</button>
<br/>
<button onclick="op(0)">0</button>
<button onclick="op('.')">.</button>
<button onclick="op('calc')">=</button>
<hr/>
<button onclick="op('+')">+</button>
<button onclick="op('-')">-</button>
<hr/>
INPUT:<div id="input"></div>
DISPLAY:<div id="result"></div>
&#13;
&#13;
&#13;