Javascript HTML onclick/JS函数不工作
我在codepen上练习,由于某种原因,javascript代码中的AddtoInput函数似乎没有运行/编译。不确定它是否与html中的onclick有关,它足够简单,所以我不这么认为 HTML代码Javascript HTML onclick/JS函数不工作,javascript,html,Javascript,Html,我在codepen上练习,由于某种原因,javascript代码中的AddtoInput函数似乎没有运行/编译。不确定它是否与html中的onclick有关,它足够简单,所以我不这么认为 HTML代码 <div id = "container"> <div id="header">Calculator</div> <div id = "calculator"> <div id="top">
<div id = "container">
<div id="header">Calculator</div>
<div id = "calculator">
<div id="top">
<div class="clear" onclick='Clear()'> C </div>
<div class="screen">
<input id="screen" type="text" placeholder="Let's do some math!"/></div>
</div>
<div class = "squares">
<span onclick = "AddtoInput(1)">1</span>
<span type="button" onclick="AddtoInput(2)">2</span>
<span type="button" onclick='AddtoInput(3)'>3</span>
<span class="operator add" onclick='oper(+)'>+</span>
<span type="button" onclick="AddtoInput(4)">4</span>
<span type="button" onclick="AddtoInput(5)">5</span>
<span type="button" onclick="AddtoInput(6)">6</span>
<span class="operator sub" onclick='oper(-)'>-</span>
<span type="button" onclick="AddtoInput(7)">7</span>
<span onclick="AddtoInput(8)">8</span>
<span type="button" onclick="AddtoInput(9)">9</span>
<span class="operator" onclick='oper(/)'>÷</span>
<span type="button" onclick="AddtoInput(0)">0</span>
<span>.</span>
<span class="equal" onclick='calc()'>=</span>
<span class="operator" onclick='oper(*)'>x</span>
<div>
</div>
</div>
计算器
C
1.
2.
3.
+
4.
5.
6.
-
7.
8.
9
÷
0
.
=
x
Javascript代码:
var operators = ['+', '-', '*', '/'];
var StringOper = '';
var InString = 0;
var InString2 = 0;
var elem = document.getElementById("screen");
function AddtoInput(num) {
window.alert("I am In!!");
InString = InString*10;
InString = InString + num;
elem.value = InString;
}
function Clear(){
window.alert("I am In clear");
InString = 0;
elem.value = InString;
}
function oper(operator) {
for (var i= 0,i<4;i++){
if(operators[i] == operator)
StringOper = operator;
}
}
function calc (){
}
var运算符=['+'、'-'、'*'、'/'];
var StringOper='';
var-InString=0;
var InString2=0;
var elem=document.getElementById(“屏幕”);
函数AddtoInput(num){
window.alert(“我在!!”;
安装=安装*10;
InString=InString+num;
元素值=仪表;
}
函数Clear(){
窗口。警报(“我处于安全状态”);
InString=0;
元素值=仪表;
}
功能操作员(操作员){
for(var i=0,i问题在for循环中
将其改写为:
function oper(operator) {
for (var i = 0; i < 4; i++){
if(operators[i] == operator)
StringOper = operator;
}
}
功能操作员(操作员){
对于(变量i=0;i<4;i++){
if(运算符[i]==运算符)
StringOper=运算符;
}
}
它应该会起作用
问题是,在for语句中,在初始化和条件之间使用了逗号,而不是分号
查看查看更多信息。哦,天哪,span
没有类型,只是一个span?你会发现很多糟糕的编码,我刚开始,它在那时仍然工作,即使这样,我不认为这是问题不,这不是问题,只是指出了它,问题是这行中的一个打字错误(var I=0,I<4;I++){
逗号应该是分号。@adeneo谢谢!这一切都很好,我正在学习更好的编码习惯到底是什么错误?玩“发现差异”游戏不是很有帮助。这一行for(var i=0,i