我刚开始用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;
}
我做错了什么?
答案 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;