Javascript 为什么赢了';我的变量加起来有问题吗?
编辑:我设法解决了这个问题。新代码如下:Javascript 为什么赢了';我的变量加起来有问题吗?,javascript,html,calculator,webpage,Javascript,Html,Calculator,Webpage,编辑:我设法解决了这个问题。新代码如下: <body> <script type="text/javascript"> function get(){}; function add(){ var ff= Number(document.getElementById("fn").value); var ll= Number(document.getElementById("ln").value); var gg= ff + ll document.getElement
<body>
<script type="text/javascript">
function get(){};
function add(){
var ff= Number(document.getElementById("fn").value);
var ll= Number(document.getElementById("ln").value);
var gg= ff + ll
document.getElementById("fn").value = "";
document.getElementById("ln").value = "";
document.getElementById("rslt").value = gg};
</script>
<h1>Calculator</h1>
<article id="a1">
<input id="fn" type="number" placeholder="first number" style="display:inline">
<span id="mark">MARK</span>
<input id="ln" type="number" placeholder="last number" style="display:inline">
<span>=</span>
<input id="rslt" type="number" placeholder="result" style="display:inline">
<button type="button" onclick="add();"> + </button>
<button type="button"> - </button>
<button type="button"> X </button>
<button type="button"> % </button>
</article>
<p id="hint">This is a paragraph.</p>
</body>
函数get(){};
函数add(){
var ff=编号(document.getElementById(“fn”).value);
var ll=编号(document.getElementById(“ln”).value);
var gg=ff+ll
document.getElementById(“fn”).value=“”;
document.getElementById(“ln”).value=“”;
document.getElementById(“rslt”).value=gg};
计算器
做记号
=
+
-
X
%
这是一个段落
PS:感谢所有的回答和评论。
我不知道为什么我的变量“ff”和“ll”在这个页面中加不起来?
有什么问题吗?我正试图创造一个
计算器,目前正在编程添加函数。但是当我
在这两个字段中输入数字,然后按“添加”键。如果添加不正确,请按“添加”。我
在没有其他代码的情况下单独尝试了相同的方法,结果成功了
这里是所有的页面代码,以防我没有包括其中的部分
问题在于:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<article>
<h1>Calculator</h1>
<input id="fn" type="real" placeholder="first number"></input>
<span id="mark"> + </span>
<input id="ln" type="real" placeholder="last number"></input>
<span id="e"> = </span>
<input id="re" type="real" value="0" placeholder="result"></input>
<br /> <br />
<table>
<th><button type=button onclick="add()">add +</button></th>
<th><button type=button onclick="subtract()">subtract -</button></th>
<th><button type=button onclick="devide()">devide %</button></th>
<th><button type=button onclick="multiply()">multiply *</button></th>
<th><button type=button onclick="clea()">clear</button></th>
</article>
<script>
//setting up variables
var cc="+"
//setting up functions
//get function
function get(){
var ff=document.getElementById("fn").value
var ll= document.getElementById("ln").value
}
//add function
function add() {get();cc="+";
if (cc=="+"){
document.getElementById("hint").innerHTML = "ADD";
document.getElementById("re").value =ff+ll;
alert(ff)
}}
//subtract function
function subtract() {get(); cc="-"
if (cc=="-"){document.getElementById("hint").innerHTML = "SUBTRACT"}
}
//devide function
function devide() {get();cc="%"
if (cc=="%"){document.getElementById("hint").innerHTML = "DEVIDE"}
}
//multiply function
function multiply() {get();cc="*"
if (cc=="*"){
document.getElementById("hint").innerHTML = "MULTIPLY"}
}
//clear function
function clea() {
document.getElementById("hint").innerHTML = "CLEAR"
document.getElementById("re").value =""}
</script>
<p id="hint" style="background-color:yellow; display:inline"></p>
</body>
</html>
计算器
+
=
加+
减去-
设备%
倍增*
清楚的
//设置变量
var cc=“+”
//设置功能
//获取函数
函数get(){
var ff=document.getElementById(“fn”).value
var ll=document.getElementById(“ln”).value
}
//添加函数
函数add(){get();cc=“+”;
如果(cc==“+”){
document.getElementById(“提示”).innerHTML=“添加”;
document.getElementById(“re”).value=ff+ll;
警报(ff)
}}
//减法函数
函数subtract(){get();cc=“-”
如果(cc=“-”{document.getElementById(“提示”).innerHTML=“SUBTRACT”}
}
//设备功能
函数devide(){get();cc=“%”
如果(cc=“%”{document.getElementById(“提示”).innerHTML=“Device”}
}
//乘函数
函数multiply(){get();cc=“*”
如果(cc==“*”){
document.getElementById(“提示”).innerHTML=“MULTIPLY”}
}
//清晰功能
函数clea(){
document.getElementById(“提示”).innerHTML=“清除”
document.getElementById(“re”).value=”“}
我在这里看到了几个问题: 1) 在
get()
中创建的变量只能在该函数的范围内访问。如果要在其他函数中查看结果,必须首先在get
函数之外声明它们:
//setting up variables
var cc="+";
var ll;
var ff;
//setting up functions
function add() {get();cc="+";
if (cc=="+"){
document.getElementById("hint").innerHTML = "ADD";
document.getElementById("re").value ="";
alert(ff)
}}
2) 实际上,我在代码中看到的任何地方都没有加或减。您只需清除
re
元素(document.getElementById(“re”).value=“”;
)的值,然后向放入ff
元素的值发出警报(alert(ff)
)我在这里看到了几个问题:
1) 在get()
中创建的变量只能在该函数的范围内访问。如果要在其他函数中查看结果,必须首先在get
函数之外声明它们:
//setting up variables
var cc="+";
var ll;
var ff;
//setting up functions
function add() {get();cc="+";
if (cc=="+"){
document.getElementById("hint").innerHTML = "ADD";
document.getElementById("re").value ="";
alert(ff)
}}
2) 实际上,我在代码中看到的任何地方都没有加或减。您只需清除re
元素(document.getElementById(“re”).value=“”;
)的值,然后警告放入ff
元素(alert(ff)
)“real”
的类型对
元素无效,也是自动关闭的
是无效的HTML;将类型
设置为数字
,并使用.valueAsNumber
将的值设置为数字而不是字符串
在HTML中包含缺少的结束标记
ff
和ll
是get
函数中的局部变量。将变量设置为每个函数的全局变量,以访问这些值
您还可以将#mark
.textContent
设置为各个函数调用中的当前数学运算
所讨论的JavaScript实际上并不执行任何数学计算
计算器
+
=
加+
减去-
德维德/
倍增*
清楚的
//设置变量
var cc=“+”,
ff,ll;
//设置功能
var fn=document.getElementById(“fn”);
var ln=document.getElementById(“ln”);
var mark=document.getElementById(“标记”);
var re=document.getElementById(“re”);
var hint=document.getElementById(“hint”);
函数日志(){
控制台日志(重值);
}
//获取函数
函数get(){
ff=fn.valueAsNumber;
ll=ln.valueAsNumber;
}
//添加函数
函数add(){
get();
cc=“+”;
hint.innerHTML=“添加”;
mark.textContent=“+cc+”;
//在这里算算
re.value=ff+ll;
log();
}
//减法函数
函数减法(){
get();
cc=“-”;
hint.innerHTML=“减法”;
mark.textContent=“+cc+”;
re.value=ff-ll;
log();
}
//设备功能
函数devide(){
get();
cc=“/”;
hint.innerHTML=“DEVIDE”;
mark.textContent=“+cc+”;
re.value=ff/ll;
log();
}
//乘函数
函数乘法(){
get();
cc=“*”
hint.innerHTML=“乘法”;
mark.textContent=“+cc+”;
re.value=ff*ll;
log();
}
//清晰功能
函数clear(){
hint.innerHTML=“清除”
re.value=fn.value=ln.value=“”;
}
“real”
不是
元素的有效类型,该元素也是自动关闭的
是无效的HTML;将类型设置为“编号
re = parseFloat(ff) + parseFloat(ll);
re=ff - (-ll);
function add() {
var fn = document.getElementById("fn").value
var ln = document.getElementById("ln").value
document.getElementById("re").value = new Number(fn) + new Number(ln);
}
if (cc=="..."){
...
}
function add() {
get();
cc=="..."
document.getElementById("hint").innerHTML = "ADD";
document.getElementById("re").value = ff + ll;
mark.innerHTML = cc;
}