Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么赢了';我的变量加起来有问题吗?_Javascript_Html_Calculator_Webpage - Fatal编程技术网

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;
}