问答详情
源自:6-11 编程练习

有几个问题不懂

<script type="text/javascript">

   function count(){

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

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

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

   var d="";

   switch(c){

    case "+":

    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;

   }

1.var a=document.getElementById("txt1").value;与document.getElementById("txt1").value=a这两种写法的区别是什么?为什么前一个可以运行,后一个不能?

2.var d=""这里代表什么意思?在后面再写document.getElementById("fruit").value=d,顺序可以改变吗?为什么不可以直接写成      var d=document.getElenmetById("fruit").value

3.若写成d=a+b,运算结果为d=ab,只有写成d=pareInt(a)+pareInt(b)结果才正确;而其余减法,乘法,除法直接写d=a-b;d=a*b;d=a/b就能行?  

              

提问者:慕丝6245747 2016-04-29 10:51

个回答

  • kuban
    2016-04-29 11:11:53
    已采纳

    1. 等号右边的值赋给等号左边,所以前者是在做获取document.getElementById("txt1")的value值,赋给a,后者做的是把a的值赋给document.getElementById("txt1").value,此时a没有值。

    2. 声明一个d,是个字符串,暂时没内容,顺序不可变,因为是2个意思,上面说了

    3. 因为+的时候会被当做2个字符串相连,所以需要转换一下告诉程序我这是要进行加法运算。字符串相连不就是"我是字符串1"+"我是字符串2"吗,其他3种运算符没有这种功能,不需要额外区分

      等号左右这个,你可以理解成右边的东西给左边,a=b是b给a值,b=a就是a给b值了,我的钱给你跟你的钱给我显然是2个事,顺序自然不能更改,谁在左边谁获得