为了账号安全,请及时绑定邮箱和手机立即绑定

求指教!!!

请问各位,为什么要有{var result;document.getElementById('fruit').value=result}这个步骤,为什么不能直接{var result=document.getElementById('fruit')}?

正在回答

5 回答

这里主要是赋值的问题,两个语句都分析一下吧

第一条语句:一开始是声明了d这个变量用来接收结果值,也就是说两个文本框的变量经过加减乘除的操作之后赋值给d,d是最终的结果值,此时将d赋值给结果框,就是要的最终结果了。

第二条语句:只是将fruit这个文本框里的内容赋值给了变量d,而此时的文本框里是没有内容的,后面的操作(即进行加减乘除),都是对d进行的操作,与fruit那个文本框无关了,所以这种会失败

1 回复 有任何疑惑可以回复我~
#1

DHWI 提问者

理解了
2016-10-30 回复 有任何疑惑可以回复我~

这里主要是赋值的问题,两个语句都分析一下吧

第一条语句:一开始是声明了d这个变量用来接收结果值,也就是说两个文本框的变量经过加减乘除的操作之后赋值给d,d是最终的结果值,此时将d赋值给结果框,就是要的最终结果了。

第二条语句:只是将fruit这个文本框里的内容赋值给了变量d,而此时的文本框里是没有内容的,后面的操作(即进行加减乘除),都是对d进行的操作,与fruit那个文本框无关了,所以这种会失败

0 回复 有任何疑惑可以回复我~

为什么要有这一步的原因。

document.getElementById("fruit").value = d //将变量d的值赋给那个叫fruit的文本框
var d=document.getElementById("fruit").value //将fruit文本框的值赋给变量d

以上两句代码的逻辑是不一样的。

0 回复 有任何疑惑可以回复我~
#1

DHWI 提问者

那为什么下面那种会失败
2016-10-26 回复 有任何疑惑可以回复我~

<!DOCTYPE html>

<html>

 <head>

  <title> 事件</title>  

  <script type="text/javascript">

   function count(){

       var d = "";

    var a=document.getElementById("txt1").value;   

    //获取第一个输入框的值

    var b=document.getElementById("txt2").value;

//获取第二个输入框的值

    var c=document.getElementById("select").value;

//获取选择框的值

    switch(c)

{

     case "+":

     //d = a + b;

     d = parseInt(a)+parseInt(b);

     break;

     case "-":

     d = a-b;

     break;

     case "*":

     d = a*b;

     break;

     default:

     d = a/b;

     }

    document.getElementById("fruit").value   = d;

    

   }

  </script> 

 </head> 

 <body>

   计数器:<input type='text' id='txt1' /> 

   <select id='select'>

<option value='+'>+</option>

<option value="-">-</option>

<option value="*">*</option>

<option value="/">/</option>

   </select>

   <input type='text' id='txt2' /> 

   <input type='button' value='=' onclick="count()"/> <!--通过 = 按钮来调用创建的函数,得到结果--> 

   <input type='text' id='fruit' />   

 </body>

</html>

我想说的是这个案例中为什么 要有var d = ""; document.getElementById("fruit").value   = d;这一步?为什么不能直接var d=document.getElementById("fruit").value  ?

0 回复 有任何疑惑可以回复我~

赋值运算时从等号右边往等号左边运算的。前面的是把result赋值给fruit的值。后一个时取fruit的值赋值给result。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468190    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

求指教!!!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信